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>”可以用如下代码:

 &lt;h1&gt;你好&lt;/h1&gt;

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

原创粉丝点击