03 2015 档案
摘要:数据库连接操作,以mongodb为例 安装 修改datasources.json 在 中添加数据类型,以users为例 //在 中设置 "properties": { "email": { "type": "string", "index": { //因为这个特殊的属性值,需要添加 ,这里放在ser
阅读全文
摘要:关于loopback的相关 "blog" 安装: "官网" 添加视图和静态资源 静态资源路径在middleware.json中配置 页面路径 原本路径是要写在server/boot.roots.js文件中,可以将路径单独放到一个文件夹中; 添加server/routers 修改server/boot
阅读全文
摘要:NodeJS不仅能做网络编程,而且能够操作文件。 拷贝 小文件拷贝 是一个全局变量,可通过 获得命令行参数。 固定等于NodeJS执行程序的绝对路径, 固定等于主模块的绝对路径,因此第一个命令行参数从 这个位置开始。 使用 从源路径读取文件内容,并使用 将文件内容写入目标路径; 大文件拷贝 这种一次
阅读全文
摘要:模块 require(函数) 用于在当前模块中加载和使用别的模块,传入一个模块名,返回一个模块导出对象。 模块名可使用相对路径(以./开头),或者是绝对路径(以/或C:之类的盘符开头;注意单个模块名默认指向node_modules文件)。 模块名中的.js扩展名可以省略。 可以加载和使用一个JSON
阅读全文
摘要:静态内容是指应用程序不会基于每个请求而去改变的资源。 多媒体: 图片、视频和音频文件 CSS: JavaScript 二进制下载文件: 这包含所有种类:PDF、压缩文件、安装文件等类似的东西。 借助一些JavaScript,浏览器可以使用未经编译的LESS。这种方式会影响性能,所以不推荐使用。 注意
阅读全文
摘要:闭包 JS closure = do _private = "foo" _private console.log(closure()) = "foo" // 关键词可以产生一个 (function() { var closure; closure = (function() { var _priva
阅读全文
摘要:安装 这里使用node.js 语法 CoffeeScript不是JavaScript的超集,不能在CoffeeScript程序中写JavaScript代码 格式 CoffeeScript在编译时为每条语句加上; CoffeeScript中的注释采用 作用域 会自动添加变量声明‘var’,放到作用域的
阅读全文
摘要:###模版继承 ; `block`,`extends` ;如果是原生html文件的话,后缀html```js//layout.jadedoctype htmlhtml head meat(charset='utf-8') title learn jade body bl...
阅读全文
摘要:##编写###简单例子```jsdoctype htmlhtml head title learn jade body h1 learn jade```###常用命令* 编译: `jade index.jade` //默认编译成压缩后的html文件* 排版编译: `jade -P...
阅读全文
摘要:简介 “Web服务”是一个通用术语,指任何可以通过HTTP访问的应用程序编程界面(API); 我们的重点是提供“REST风格”的服务,与其交互要更直接得多。 REST表示“表述性状态传输”(Representational State Transfer), REST的正规描述很复杂,需要计算机科学形
阅读全文
摘要:安装/运行 查看当前mongodb运行情况: ; 在当前路径下建立数据库: 按照一个数据库路径运行 运行数据库之后,使用 ; 然后可以进行数据库/表单操作 基本命令 成功启动MongoDB后,再打开一个命令行窗口输入 ,就可以进行数据库的一些操作。 :显示数据库列表 :显示当前数据库中的集合 :显示
阅读全文
摘要:组织路由 在主应用程序文件中定义所有路由太笨重了。那样不仅会导致那个文件一直增长,还不利于功能的分离,因为那个文件里已经有很多东西了。 四条组织路由的指导原则 给路由处理器用命名函数: 到目前为止,我们都是在行内写路由处理器的,实际上就是马上在那里定义处理路由的函数。这对于小程序或原型来说没问题,但
阅读全文
摘要:简介 路由是网站或Web服务中最重要的一个方面;路由是将请求(由URL和HTTP方法指定)路由到处理它们的代码去的一种机制。 路由过去是基于文件的,这很简单,但不灵活。 IA 是指内容的概念性组织。在考虑路由之前有一个可扩展(但不过于复杂的)IA会为后续工作提供巨大的好处。 有些建议能帮你实现持久的
阅读全文
摘要:简介 所有网站和Web应用程序(除了最简单的)都需要某种持久化方式,即某种比易失性内存更持久的数据存储方式,这样当遇到服务器宕机、断电、升级和迁移等情况时数据才能保存下来。 文件系统持久化 实现持久化的一种方式是将数据存到扁平文件中(“扁平”的意思是文件没有内在结构,只是一串字节)。Node通过 (
阅读全文
摘要:处理未捕获的异常 在Node的异步世界中,未捕获的异常是特别需要关注的问题 在Express执行路由处理器时,它把它们封装在一个try/catch块中,所以这不是一个真正的未捕获异常。 Express会在服务器端记录异常,并且访问者会得到一个丑陋的栈输出。然而服务器是稳定的,其他请求还能得到正确处理
阅读全文
摘要:执行环境 Express支持执行环境的概念,它是一种在生产、开发或测试模式中运行应用程序的方法。实际上你可以按自己的想法创建很多种不同的环境。 要记住,开发、生产和测试是“标准”环境,Express、Connect以及第三方中间件可能会基于这些环境做出决定。 换句话说,如果你有一个“临时”环境,则无
阅读全文
摘要:简介 Node和Express都没有内置的邮件发送功能,所以必须使用第三方模块。推荐Andris Reinman的 "Nodemailer" SMTP、MSA和MTA 发送邮件的通用语言是简单邮件传输协议(SMTP) 尽管用SMTP直接发送一封邮件给接收者的邮件服务器是有可能的,但这通常是个非常糟糕
阅读全文
摘要:简介 从概念上讲,中间件是一种功能的封装方式,具体来说就是封装在程序中处理HTTP请求的功能。 中间件是在管道中执行的,在Express程序中,通过调用app.use向管道中插入中间件。(在Express 4.0中,中间件和路由处理器是按它们的连入顺序调用的) 在管道的最后放一个“捕获一切”请求的处
阅读全文
摘要:组合技术 适当的ajax时对已有技术和下列思想的组合 语义化(X)HTML标记 文档对象模型(DOM) JavaScript XML 不同浏览器中,公共XMLHttpRequest方法 open(method, url[, asynchronous [, userName[, password ]]
阅读全文
摘要:观察者模式 通过创建一个可观察的对象,当发生一个感兴趣的事件时将该事件通告给所有观察者,从而形成松散的耦合 订阅杂志
阅读全文
摘要:策略模式 在选择最佳策略以处理特定任务(上下文)的时候仍然保持相同的接口; 外观模式 通过把常用方法包装到一个新的方法中,从而提供一个更为便利的API 代理模式 通过包装一个对象以控制对它的访问,其主要方法是将访问聚集为组成或仅当真正必要的时候才执行访问,从而避免了高昂的操作开销 这种模式的其中一个
阅读全文
摘要:远程脚本 XMLHttpRequest JSONP 和XHR不同,它不受同域的限制; JSONP请求的可以是任意的文档; 请求的URL通常格式为http://example.js?calback=CallFunction 框架 frame通常使用的情况 沙箱隔离。 引用第三方内容。 独立的带有交互的
阅读全文
摘要:单元测试 单元测试是比集成测试更底层的测试,用于确保特定的后台代码片段能正常运行; 前端单元测试更多是为了发现浏览器兼容性的bug; 断言 断言是测试的核心,是一些表述代码期望执行结果的语句 常见测试类库 "QUnit.js" "jasmine.js" 驱动 驱动实际上是一个守护进程,它整合了不同的
阅读全文
摘要:性能 提高性能最简单的办法就是减少HTTP的请求数量,每个HTTP请求除了有TCP开销外,还包含大量的头信息; 让页面和其资源文件保持较小的体积将减少网络用时,对于互联网上的应用而言,这才是真正的瓶颈; 将多个脚本文件合并成一个或是将多个CSS合并成一个样式表能减少HTTP连接数量;如果是后者的话确
阅读全文
摘要:CommonJS CommonJS规范,主要解决命名空间管理模块和用一套标准的编程模式来加载模块; 很快成为了JavaScript模块写法的事实标准; 它包含IO接口,底层的套接字流,以及单元测试等标准; 模块的声明 模块被分隔为不同文件,通过给exports对象添加内容来对外暴露模块的变量的方法,
阅读全文
摘要:###变量 (默认@)###```@color: #4D926F;#header { color: @color;}h2 { color: @color;}```###混合 (默认.)###**将一个定义好的class A轻松的引入到另一个class B中,从而简单实现class B继承clas...
阅读全文

浙公网安备 33010602011771号