nodejs学习笔记一
来源:互联网 发布:铠龙ni80 发热丝数据 编辑:程序博客网 时间:2024/06/07 13:26
Supervisor
在开发或调试Node.js应用程序的时候,当你修改js文件后,总是要按下CTRL+C终止程序,然后再重新启动,即使是修改一点小小的参数,也总是要不断地重复这几个很烦人的操作。有没有办法做到当文件修改之后,Node.js自动重新启动(或重新加载文件)以节省时间呢?一开始我是想到用grunt的watch模块来监控文件变化,但后来在网上一查,原来我们想到的,别人早已想到,并且已经做得很好。Node Supervisor正是这样一个可以实现这种需求的Node.js模块。
根据Github上的说明,Node Supervisor原本是用于服务器上Node.js应用崩溃的时候,自己重新启动。当然它也可以监控你的项目的js(或CoffeeScript)文件变化,进而重启来方便我们调试应用程序。
npm install supervisor -gsupervisor app.js
process.env.PORT
这句出现在express生成的app.js里: app.set(‘port’, process.env.PORT || 80);
,我知道它的作用是设置端口号,但为什么要这样写呢?写成: app.set(‘port’, 80);不行么?
process.env.PORT实现了什么?
这是最基础的东西了,环境变量要是设置了PORT,那么就用环境变量的PORT。比如可以使用下面命令指定端口号: PORT=8080 node app.js
request对象和response对象
web服务器收到客户端的HTTP请求,会针对每一次请求分别创建一个用于代表请求的request对象和代表响应的response对象。
1.要得到客户机提交过来的数据,只需要找request对象就行了。
2、要向客户机输出数据,只需要找response对象就行了。
request是客户端发向服务器端的请求,response是服务器端对客户端的响应,两者发出对象与接收对象不同
请求和响应,相对于输入和输出,这样理解起来就比较容易了。
Jade
模板继承
Jade 支持通过 block 和 extends 关键字来实现模板继承。 一个块就是一个 Jade 的 block ,它将在子模板中实现,同时是支持递归的。
Jade 块如果没有内容,Jade 会添加默认内容,下面的代码默认会输出 block scripts, block content, 和 block foot.
html head h1 My Site - #{title} block scripts script(src='/jquery.js') body block content block foot #footer p some footer content
现在我们来继承这个布局,简单创建一个新文件,像下面那样直接使用 extends,给定路径(可以选择带 .jade 扩展名或者不带). 你可以定义一个或者更多的块来覆盖父级块内容, 注意到这里的 foot 块 没有 定义,所以它还会输出父级的 “some footer content”。
extends extend-layoutblock scripts script(src='/jquery.js') script(src='/pets.js')block content h1= title each pet in pets include pet
同样可以在一个子块里添加块,就像下面实现的块 content 里又定义了两个可以被实现的块 sidebar 和 primary,或者子模板直接实现 content。
extends regular-layoutblock content .sidebar block sidebar p nothing .primary block primary p nothing
变量调用
jade 的变量调用有 3 种方式
#{表达式}
=表达式
!=表达式
注意:符号 - 开头在 jade 中属于服务端执行的代码
- console.log('hello'); // 这段代码在服务端执行- var s = 'hello world' // 在服务端空间中定义变量p #{s}p= s
会被渲染成为
<p>hello world</p><p>hello world</p>
以下代码效果相同
- var s = 'world'p hello #{s}p= 'hello' + s
http://cnodejs.org/topic/5368adc5cf738dd6090060f2
更多jade实用知识
markdown
markdown 如何显示html标签
可以使用HTML转义字符,Markdown完全兼容HTML语法,比如要显示“<h1>你好</h1>”可以用如下代码:
<h1>你好</h1>
Bootstrap
http://v2.bootcss.com/base-css.html 查bootstrap样式用法很方便
列表(lists).Bootstrap提供三种标签来表现不同类型的列表。
<ul>表示无序列表,
<ul class=”unstyled”>表示无样式的无序列表,
<ol>>表示有序列表,
<dl>表示描述列表,
<dl class=”dl-horizontal”>表示竖排描述列表。
显示这几种列表:
HTML 5 <embed> 标签
定义和用法
标签定义嵌入的内容,比如插件。
<embed src="helloworld.swf" />
水平表单
右侧对齐并且左侧浮动的label和控件排列在同一行。这需要对默认的表单格式做修改:R
- 为表单添加.form-horizontal类
- 将label和控件包裹在.control-group中
- 为label添加.control-label类
- 将任何相关的控件包裹在.controls中,以确保最佳的对齐
.table-hover
为 <tbody> 中的每一行赋予鼠标悬停样式。
nodejs取参四种方法
req.body,req.params,req.param,req.body
http://blog.csdn.net/qiaocuiyu/article/details/52795585
- 学习nodejs笔记一
- nodejs学习笔记一
- Nodejs学习笔记(一)
- NodeJS学习笔记一
- nodejs学习笔记一
- Nodejs学习笔记一
- Nodejs学习笔记(一)
- Nodejs学习笔记(一)
- NodeJs学习笔记(一)
- nodejs学习笔记一——nodejs安装
- nodejs学习笔记一 nodejs简介与安装
- 菜鸟学习NodeJS笔记(一)
- Nodejs 学习笔记-概括(一)
- 菜鸟学习NodeJS笔记(一)
- NodeJS笔记一
- nodejs自学笔记一
- NodeJs学习笔记(一)安装与配置
- NodeJs学习笔记一(ubuntu下环境搭建)
- java中一些锁的总结
- Java拦截过滤器模式
- java环境配置
- Robot Framework 创建测试库
- Vuex 模块化实现待办事项的状态管理
- nodejs学习笔记一
- unicodedecodeerror 'gbk' codec can't decode
- rsync服务与搭建详解
- java通过axis2调取webservice接口
- Spring集成PageHelper的简单用法
- C语言enum枚举类型解析(转)
- 【剑指offer】题48:不能被继承的类
- Lua与C的交互(3)
- Java前端控制器模式