node

<!DOCTYPE html><html><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta http-equiv="X-UA-Compatible" content="IE=8" /><title>node.js  Foundation</title><style type="text/css" id="wiz_todo_style_id" wiz_link_version="01.00.09">.wiz-todo, .wiz-todo-img {width: 16px; height: 16px; cursor: default; padding: 0 10px 0 2px; vertical-align: -10%;-webkit-user-select: none;} .wiz-todo-label { display: inline-block; padding-top: 7px; padding-bottom: 6px; line-height: 1.5;} .wiz-todo-label-checked { /*text-decoration: line-through;*/ color: #666;} .wiz-todo-label-unchecked {text-decoration: initial;} .wiz-todo-completed-info {padding-left: 44px; display: inline-block; } .wiz-todo-avatar { width:20px; height: 20px; vertical-align: -20%; margin-right:10px; border-radius: 2px;} .wiz-todo-account, .wiz-todo-dt { color: #666; }</style><link type="text/css" rel="stylesheet" id="wiz_code_highlight_link" href="node.js  Foundation_files/wiz_code_highlight.css"></head><body><p><br/></p><p>events 事件有两种:</p><p>System Events &nbsp;C++ Core libuv &nbsp;&nbsp;</p><p>Custom Events &nbsp;JavaScript Core Event Emitter<br/></p><p><br/></p><p>一.The node event emitter</p><p><br/></p><p>1.创建 Emitter module&nbsp;</p><p><br/></p><p>新建 emitte.js文件</p><p>代码如下</p><pre class="prettyprint linenums prettyprinted" style=""><ol class="linenums list-paddingleft-2"><li><p><code class="language-js"><span class="kwd">function</span><span class="pln"> </span><span class="typ">Emitter</span><span class="pun">(){</span></code></p></li><li><p><code class="language-js"><span class="pln"></span><span class="kwd">this</span><span class="pun">.</span><span class="pln">events </span><span class="pun">=</span><span class="pln"> </span><span class="pun">{};</span></code></p></li><li><p><code class="language-js"><span class="pun">}</span></code></p></li><li><p><code class="language-js"><span class="com">// 为事件注册监听器</span></code></p></li><li><p><code class="language-js"><span class="typ">Emitter</span><span class="pun">.</span><span class="pln">prototype</span><span class="pun">.</span><span class="pln">on </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">function</span><span class="pun">(</span><span class="pln">type</span><span class="pun">,</span><span class="pln">listener</span><span class="pun">)</span><span class="pln"> </span><span class="pun">{</span></code></p></li><li><p><code class="language-js"><span class="pln"></span><span class="kwd">this</span><span class="pun">.</span><span class="pln">events</span><span class="pun">[</span><span class="pln">type</span><span class="pun">]</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">this</span><span class="pun">.</span><span class="pln">events</span><span class="pun">[</span><span class="pln">type</span><span class="pun">]||[];</span></code></p></li><li><p><code class="language-js"><span class="pln"></span><span class="kwd">this</span><span class="pun">.</span><span class="pln">events</span><span class="pun">[</span><span class="pln">type</span><span class="pun">].</span><span class="pln">push</span><span class="pun">(</span><span class="pln">listener</span><span class="pun">);</span></code></p></li><li><p><code class="language-js"><span class="pun">};</span></code></p></li><li><p><code class="language-js"></code></p></li><li><p><code class="language-js"><span class="com">//发射,something happend, listener responed</span></code></p></li><li><p><code class="language-js"><span class="typ">Emitter</span><span class="pun">.</span><span class="pln">prototype</span><span class="pun">.</span><span class="pln">emit </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">function</span><span class="pun">(</span><span class="pln">type</span><span class="pun">){</span></code></p></li><li><p><code class="language-js"><span class="pln"></span><span class="kwd">if</span><span class="pln"> </span><span class="pun">(</span><span class="kwd">this</span><span class="pun">.</span><span class="pln">events</span><span class="pun">[</span><span class="pln">type</span><span class="pun">]){</span></code></p></li><li><p><code class="language-js"><span class="pln"></span><span class="kwd">this</span><span class="pun">.</span><span class="pln">events</span><span class="pun">[</span><span class="pln">type</span><span class="pun">].</span><span class="pln">forEach</span><span class="pun">(</span><span class="kwd">function</span><span class="pun">(</span><span class="pln">listener</span><span class="pun">){</span></code></p></li><li><p><code class="language-js"><span class="pln"> listener</span><span class="pun">();</span></code></p></li><li><p><code class="language-js"><span class="pln"></span><span class="pun">})</span></code></p></li><li><p><code class="language-js"><span class="pln"></span><span class="pun">}</span></code></p></li><li><p><code class="language-js"><span class="pun">}</span></code></p></li><li><p><code class="language-js"></code></p></li><li><p><code class="language-js"><span class="pln">module</span><span class="pun">.</span><span class="pln">exports </span><span class="pun">=</span><span class="pln"> </span><span class="typ">Emitter</span><span class="pun">;</span></code></p></li></ol></pre><p>2.引入emitter 模块</p><p>创建app.js 文件</p><p>代码如下</p><pre class="prettyprint linenums prettyprinted" style=""><ol class="linenums list-paddingleft-2"><li><p><code class="language-js"><span class="pln"> </span></code></p></li><li><p><code class="language-js"><span class="pln"> </span><span class="kwd">var</span><span class="pln"> </span><span class="typ">Emitter</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> require</span><span class="pun">(</span><span class="str">&#39;./emitter&#39;</span><span class="pun">);</span></code></p></li><li><p><code class="language-js"><span class="pln"> </span></code></p></li><li><p><code class="language-js"><span class="pln"> </span><span class="kwd">var</span><span class="pln"> emtr </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> </span><span class="typ">Emitter</span><span class="pun">();</span></code></p></li><li><p><code class="language-js"><span class="pln"> </span></code></p></li><li><p><code class="language-js"><span class="pln"> emtr</span><span class="pun">.</span><span class="pln">on</span><span class="pun">(</span><span class="str">&#39;greet&#39;</span><span class="pun">,</span><span class="kwd">function</span><span class="pun">(){</span></code></p></li><li><p><code class="language-js"><span class="pln"> console</span><span class="pun">.</span><span class="pln">log</span><span class="pun">(</span><span class="str">&#39;Somewhere,some said hello.&#39;</span><span class="pun">);</span></code></p></li><li><p><code class="language-js"><span class="pln"> </span><span class="pun">});</span><span class="pln"> </span><span class="com">//注册事件以及监听器</span></code></p></li><li><p><code class="language-js"></code></p></li><li><p><code class="language-js"><span class="pln">emtr</span><span class="pun">.</span><span class="pln">on</span><span class="pun">(</span><span class="str">&#39;greet&#39;</span><span class="pun">,</span><span class="kwd">function</span><span class="pun">(){</span></code></p></li><li><p><code class="language-js"><span class="pln"> console</span><span class="pun">.</span><span class="pln">log</span><span class="pun">(</span><span class="str">&#39;A greet occured!&#39;</span><span class="pun">);</span></code></p></li><li><p><code class="language-js"><span class="pun">})</span></code></p></li><li><p><code class="language-js"></code></p></li><li><p><code class="language-js"><span class="pln">emtr</span><span class="pun">.</span><span class="pln">emit</span><span class="pun">(</span><span class="str">&#39;greet&#39;</span><span class="pun">);</span></code></p></li></ol></pre><p><br/></p><p><br/></p><p>二.node.js中的events模块</p><p>使用nodejs 中的emit&nbsp;</p><p><br/></p><p>将上述app.js 改为</p><pre class="prettyprint linenums prettyprinted" style=""><ol class="linenums list-paddingleft-2"><li><p><code class="language-js"><span class="pln"> </span></code></p></li><li><p><code class="language-js"><span class="pln"> </span><span class="kwd">var</span><span class="pln"> </span><span class="typ">Emitter</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> require</span><span class="pun">(</span><span class="str">&#39;events&#39;</span><span class="pun">);</span></code></p></li><li><p><code class="language-js"><span class="pln"> </span></code></p></li><li><p><code class="language-js"><span class="pln"> </span><span class="kwd">var</span><span class="pln"> emtr </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> </span><span class="typ">Emitter</span><span class="pun">();</span></code></p></li><li><p><code class="language-js"><span class="pln"> </span></code></p></li><li><p><code class="language-js"><span class="pln"> emtr</span><span class="pun">.</span><span class="pln">on</span><span class="pun">(</span><span class="str">&#39;greet&#39;</span><span class="pun">,</span><span class="kwd">function</span><span class="pun">(){</span></code></p></li><li><p><code class="language-js"><span class="pln"> console</span><span class="pun">.</span><span class="pln">log</span><span class="pun">(</span><span class="str">&#39;Somewhere,some said hello.&#39;</span><span class="pun">);</span></code></p></li><li><p><code class="language-js"><span class="pln"> </span><span class="pun">});</span><span class="pln"> </span><span class="com">//注册事件以及监听器</span></code></p></li><li><p><code class="language-js"></code></p></li><li><p><code class="language-js"><span class="pln">emtr</span><span class="pun">.</span><span class="pln">on</span><span class="pun">(</span><span class="str">&#39;greet&#39;</span><span class="pun">,</span><span class="kwd">function</span><span class="pun">(){</span></code></p></li><li><p><code class="language-js"><span class="pln"> console</span><span class="pun">.</span><span class="pln">log</span><span class="pun">(</span><span class="str">&#39;A greet occured!&#39;</span><span class="pun">);</span></code></p></li><li><p><code class="language-js"><span class="pun">})</span></code></p></li><li><p><code class="language-js"></code></p></li><li><p><code class="language-js"><span class="pln">emtr</span><span class="pun">.</span><span class="pln">emit</span><span class="pun">(</span><span class="str">&#39;greet&#39;</span><span class="pun">);</span></code></p></li></ol></pre><p><br/></p><p><br/></p><p>但是以上使用string 注册事件的方式容易出错</p><p><br/></p><p>新建config.js文件</p><p>代码如下:&nbsp;</p><pre class="prettyprint linenums prettyprinted" style=""><ol class="linenums list-paddingleft-2"><li><p><code class="language-js"><span class="pln">module</span><span class="pun">.</span><span class="pln">exports </span><span class="pun">=</span><span class="pln"> </span><span class="pun">{</span></code></p></li><li><p><code class="language-js"><span class="pln"> events </span><span class="pun">:{</span></code></p></li><li><p><code class="language-js"><span class="pln"> GREET</span><span class="pun">:</span><span class="str">&#39;greet&#39;</span><span class="pun">,</span></code></p></li><li><p><code class="language-js"><span class="pln"> FILESAVED</span><span class="pun">:</span><span class="str">&#39;filesaved&#39;</span></code></p></li><li><p><code class="language-js"><span class="pln"></span><span class="pun">}</span></code></p></li><li><p><code class="language-js"><span class="pun">}</span></code></p></li></ol></pre><p><br/></p><p>现在修改app.js文件如下:<br/></p><p><br/></p><pre class="prettyprint linenums prettyprinted" style=""><ol class="linenums list-paddingleft-2"><li><p><code class="language-js"><span class="pln"> </span></code></p></li><li><p><code class="language-js"><span class="pln"> </span><span class="kwd">var</span><span class="pln"> </span><span class="typ">Emitter</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> require</span><span class="pun">(</span><span class="str">&#39;events&#39;</span><span class="pun">);</span></code></p></li><li><p><code class="language-js"><span class="pln"> </span><span class="kwd">var</span><span class="pln"> eventConfig </span><span class="pun">=</span><span class="pln"> require</span><span class="pun">(</span><span class="str">&#39;./config&#39;</span><span class="pun">)</span></code></p></li><li><p><code class="language-js"><span class="pln"> </span></code></p></li><li><p><code class="language-js"><span class="pln"> </span><span class="kwd">var</span><span class="pln"> emtr </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> </span><span class="typ">Emitter</span><span class="pun">();</span></code></p></li><li><p><code class="language-js"><span class="pln"> </span></code></p></li><li><p><code class="language-js"><span class="pln"> emtr</span><span class="pun">.</span><span class="pln">on</span><span class="pun">(</span><span class="pln">eventConfig</span><span class="pun">.</span><span class="pln">greet</span><span class="pun">,</span><span class="kwd">function</span><span class="pun">(){</span></code></p></li><li><p><code class="language-js"><span class="pln"> console</span><span class="pun">.</span><span class="pln">log</span><span class="pun">(</span><span class="str">&#39;Somewhere,some said hello.&#39;</span><span class="pun">);</span></code></p></li><li><p><code class="language-js"><span class="pln"> </span><span class="pun">});</span><span class="pln"> </span><span class="com">//注册事件以及监听器</span></code></p></li><li><p><code class="language-js"></code></p></li><li><p><code class="language-js"><span class="pln">emtr</span><span class="pun">.</span><span class="pln">on</span><span class="pun">(</span><span class="pln">eventConfig</span><span class="pun">.</span><span class="pln">greet</span><span class="pun">,</span><span class="kwd">function</span><span class="pun">(){</span></code></p></li><li><p><code class="language-js"><span class="pln"> console</span><span class="pun">.</span><span class="pln">log</span><span class="pun">(</span><span class="str">&#39;A greet occured!&#39;</span><span class="pun">);</span></code></p></li><li><p><code class="language-js"><span class="pun">})</span></code></p></li><li><p><code class="language-js"></code></p></li><li><p><code class="language-js"><span class="pln">emtr</span><span class="pun">.</span><span class="pln">emit</span><span class="pun">(</span><span class="pln">eventConfig</span><span class="pun">.</span><span class="pln">greet</span><span class="pun">);</span></code></p></li></ol></pre><p><br/></p><p>这样有利于代码的维护升级<br/></p><p><br/></p><p><br/></p><p>三. Object.create prototypes</p><p style="white-space: normal;"><br/></p><p style="white-space: normal;">使用Object.create 生成object 的原型</p><p style="white-space: normal;">创建 app.js ,代码如下:&nbsp;</p><p style="white-space: normal;"><br/></p><pre class="prettyprint linenums prettyprinted"><ol class="linenums list-paddingleft-2"><li><p><code class="language-js"><span class="kwd">var</span><span class="pln"> person </span><span class="pun">=</span><span class="pln"> </span><span class="pun">{</span></code></p></li><li><p><code class="language-js"><span class="pln"> firstname</span><span class="pun">:</span><span class="pln"> </span><span class="str">&#39;&#39;</span><span class="pun">,</span></code></p></li><li><p><code class="language-js"><span class="pln"> secondname</span><span class="pun">:</span><span class="str">&#39;&#39;</span><span class="pun">,</span></code></p></li><li><p><code class="language-js"><span class="pln"> greet</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pun">(){</span></code></p></li><li><p><code class="language-js"><span class="pln"></span><span class="kwd">return</span><span class="pln"> </span><span class="kwd">this</span><span class="pun">.</span><span class="pln">firstname</span><span class="pun">+</span><span class="str">&#39; &#39;</span><span class="pun">+</span><span class="kwd">this</span><span class="pun">.</span><span class="pln">lastname</span><span class="pun">;</span></code></p></li><li><p><code class="language-js"><span class="pln"></span><span class="pun">}</span></code></p></li><li><p><code class="language-js"><span class="pun">}</span></code></p></li><li><p><code class="language-js"></code></p></li><li><p><code class="language-js"><span class="kwd">var</span><span class="pln"> john </span><span class="pun">=</span><span class="pln"> </span><span class="typ">Object</span><span class="pun">.</span><span class="pln">create</span><span class="pun">(</span><span class="pln">person</span><span class="pun">);</span></code></p></li><li><p><code class="language-js"></code></p></li><li><p><code class="language-js"><span class="pln">john</span><span class="pun">.</span><span class="pln">firstname </span><span class="pun">=</span><span class="pln"> </span><span class="str">&#39;John&#39;</span></code></p></li><li><p><code class="language-js"><span class="pln">john</span><span class="pun">.</span><span class="pln">lastname </span><span class="pun">=</span><span class="pln"> </span><span class="str">&#39;Doe&#39;</span><span class="pun">;</span></code></p></li><li><p><code class="language-js"></code></p></li><li><p><code class="language-js"><span class="kwd">var</span><span class="pln"> jane </span><span class="pun">=</span><span class="pln"> </span><span class="typ">Object</span><span class="pun">.</span><span class="pln">create</span><span class="pun">(</span><span class="pln">person</span><span class="pun">);</span></code></p></li><li><p><code class="language-js"></code></p></li><li><p><code class="language-js"><span class="pln">jane</span><span class="pun">.</span><span class="pln">firstname </span><span class="pun">=</span><span class="pln"> </span><span class="str">&#39;Jane&#39;</span><span class="pun">;</span></code></p></li><li><p><code class="language-js"><span class="pln">jane</span><span class="pun">.</span><span class="pln">lastname </span><span class="pun">=</span><span class="pln"> </span><span class="str">&#39;Doe&#39;</span><span class="pun">;</span></code></p></li><li><p><code class="language-js"></code></p></li><li><p><code class="language-js"><span class="pln">console</span><span class="pun">.</span><span class="pln">log</span><span class="pun">(</span><span class="pln">john</span><span class="pun">.</span><span class="pln">greet</span><span class="pun">());</span></code></p></li><li><p><code class="language-js"><span class="pln">console</span><span class="pun">.</span><span class="pln">log</span><span class="pun">(</span><span class="pln">jane</span><span class="pun">.</span><span class="pln">greet</span><span class="pun">());</span></code></p></li></ol></pre><p><br style="white-space: normal;"/></p><p>四.Inheriting from event emitter</p><p><br/></p><p>创建 app.js,使用util模块中的 inherits 来继承原型</p><p>代码如下</p><pre class="prettyprint linenums prettyprinted" style=""><ol class="linenums list-paddingleft-2"><li><p><code class="language-js"><span class="kwd">var</span><span class="pln"> </span><span class="typ">EventEmitter</span><span class="pln"> </span><span class="pun">=</span><span class="pln"> require</span><span class="pun">(</span><span class="str">&#39;events&#39;</span><span class="pun">);</span></code></p></li><li><p><code class="language-js"><span class="kwd">var</span><span class="pln"> util &nbsp;</span><span class="pun">=</span><span class="pln"> require</span><span class="pun">(</span><span class="str">&#39;util&#39;</span><span class="pun">);</span></code></p></li><li><p><code class="language-js"></code></p></li><li><p><code class="language-js"><span class="kwd">function</span><span class="pln"> </span><span class="typ">Greeter</span><span class="pun">(){</span></code></p></li><li><p><code class="language-js"><span class="pln"></span><span class="kwd">this</span><span class="pun">.</span><span class="pln">greeting &nbsp;</span><span class="pun">=</span><span class="pln"> </span><span class="str">&#39;Hello world!&#39;</span><span class="pun">;</span></code></p></li><li><p><code class="language-js"><span class="pun">}</span></code></p></li><li><p><code class="language-js"></code></p></li><li><p><code class="language-js"><span class="pln">util</span><span class="pun">.</span><span class="pln">inherits</span><span class="pun">(</span><span class="typ">Greeter</span><span class="pun">,</span><span class="typ">EventEmitter</span><span class="pun">);</span></code></p></li><li><p><code class="language-js"></code></p></li><li><p><code class="language-js"><span class="typ">Greeter</span><span class="pun">.</span><span class="pln">prototype</span><span class="pun">.</span><span class="pln">greet </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">function</span><span class="pun">(</span><span class="pln">data</span><span class="pun">){</span></code></p></li><li><p><code class="language-js"><span class="pln"> console</span><span class="pun">.</span><span class="pln">log</span><span class="pun">(</span><span class="str">&#39;Hello,this is &#39;</span><span class="pun">+</span><span class="pln">data</span><span class="pun">);</span></code></p></li><li><p><code class="language-js"><span class="pln"></span><span class="kwd">this</span><span class="pun">.</span><span class="pln">emit</span><span class="pun">(</span><span class="str">&#39;greet&#39;</span><span class="pun">,</span><span class="pln">data</span><span class="pun">);</span></code></p></li><li><p><code class="language-js"><span class="pun">}</span></code></p></li><li><p><code class="language-js"></code></p></li><li><p><code class="language-js"><span class="kwd">var</span><span class="pln"> greeter </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> </span><span class="typ">Greeter</span><span class="pun">();</span></code></p></li><li><p><code class="language-js"><span class="pln">greeter</span><span class="pun">.</span><span class="pln">on</span><span class="pun">(</span><span class="str">&#39;greet&#39;</span><span class="pun">,</span><span class="kwd">function</span><span class="pun">(</span><span class="pln">data</span><span class="pun">){</span></code></p></li><li><p><code class="language-js"><span class="pln"> console</span><span class="pun">.</span><span class="pln">log</span><span class="pun">(</span><span class="str">&#39;Hello ,this is an events : &#39;</span><span class="pun">+</span><span class="pln">data</span><span class="pun">);</span><span class="pln"></span></code></p></li><li><p><code class="language-js"><span class="pun">});</span></code></p></li><li><p><code class="language-js"></code></p></li><li><p><code class="language-js"><span class="pln">greeter</span><span class="pun">.</span><span class="pln">greet</span><span class="pun">(</span><span class="str">&#39;Tony&#39;</span><span class="pun">);</span></code></p></li></ol></pre><p><br/></p><p style="white-space: normal;">五.ECMAScript 6</p><p style="white-space: normal;">literal strings</p><pre class="prettyprint linenums prettyprinted" style=""><ol class="linenums list-paddingleft-2"><li><p><code class="language-js"></code></p></li><li><p><code class="language-js"><span class="kwd">var</span><span class="pln"> name </span><span class="pun">=</span><span class="pln"> </span><span class="str">&#39;Nike&#39;</span><span class="pun">;</span></code></p></li><li><p><code class="language-js"></code></p></li><li><p><code class="language-js"><span class="kwd">var</span><span class="pln"> greet </span><span class="pun">=</span><span class="pln"> </span><span class="pun">`</span><span class="typ">Hello</span><span class="pln"> $</span><span class="pun">{</span><span class="pln">name</span><span class="pun">}`;</span></code></p></li><li><p><code class="language-js"></code></p></li><li><p><code class="language-js"><span class="pln">console</span><span class="pun">.</span><span class="pln">log</span><span class="pun">(</span><span class="pln">greet</span><span class="pun">);</span></code></p></li></ol></pre><p>call and apply</p><p>用于改变调用者 this</p><pre class="prettyprint linenums prettyprinted" style=""><ol class="linenums list-paddingleft-2"><li><p><code class="language-js"><span class="kwd">var</span><span class="pln"> obj </span><span class="pun">=</span><span class="pln"> </span><span class="pun">{</span></code></p></li><li><p><code class="language-js"><span class="pln"> name</span><span class="pun">:</span><span class="str">&#39;John Doe&#39;</span><span class="pun">,</span></code></p></li><li><p><code class="language-js"><span class="pln"> greet</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">function</span><span class="pun">(){</span></code></p></li><li><p><code class="language-js"><span class="pln"> console</span><span class="pun">.</span><span class="pln">log</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">.</span><span class="pln">name</span><span class="pun">);</span></code></p></li><li><p><code class="language-js"><span class="pln"></span><span class="pun">}</span><span class="pln"></span></code></p></li><li><p><code class="language-js"><span class="pun">}</span></code></p></li><li><p><code class="language-js"></code></p></li><li><p><code class="language-js"><span class="pln">obj</span><span class="pun">.</span><span class="pln">greet</span><span class="pun">.</span><span class="pln">call</span><span class="pun">({</span><span class="pln">name </span><span class="pun">:</span><span class="pln"> </span><span class="str">&#39;Jane Doe&#39;</span><span class="pun">});</span></code></p></li><li><p><code class="language-js"><span class="pln">obj</span><span class="pun">.</span><span class="pln">greet</span><span class="pun">.</span><span class="pln">apply</span><span class="pun">({</span><span class="pln">name</span><span class="pun">:</span><span class="pln"> </span><span class="str">&#39;Jane Doe&#39;</span><span class="pun">});</span></code></p></li></ol></pre><p><br/></p><p><br/></p><pre class="prettyprint linenums prettyprinted" style=""><ol class="linenums list-paddingleft-2"><li><p><code class="language-js"><span class="pln"> </span></code></p></li><li><p><code class="language-js"><span class="kwd">var</span><span class="pln"> util </span><span class="pun">=</span><span class="pln"> require</span><span class="pun">(</span><span class="str">&#39;util&#39;</span><span class="pun">);</span></code></p></li><li><p><code class="language-js"></code></p></li><li><p><code class="language-js"><span class="kwd">function</span><span class="pln"> </span><span class="typ">Person</span><span class="pun">(){</span></code></p></li><li><p><code class="language-js"><span class="pln"></span><span class="kwd">this</span><span class="pun">.</span><span class="pln">firstname </span><span class="pun">=</span><span class="pln"> </span><span class="str">&#39;John&#39;</span><span class="pun">;</span></code></p></li><li><p><code class="language-js"><span class="pln"></span><span class="kwd">this</span><span class="pun">.</span><span class="pln">lastname </span><span class="pun">=</span><span class="pln"> </span><span class="str">&#39;Doe&#39;</span><span class="pun">;</span></code></p></li><li><p><code class="language-js"><span class="pun">}</span></code></p></li><li><p><code class="language-js"></code></p></li><li><p><code class="language-js"><span class="typ">Person</span><span class="pun">.</span><span class="pln">prototype</span><span class="pun">.</span><span class="pln">greet </span><span class="pun">=</span><span class="pln"> </span><span class="kwd">function</span><span class="pln"> </span><span class="pun">(){</span></code></p></li><li><p><code class="language-js"><span class="pln"> console</span><span class="pun">.</span><span class="pln">log</span><span class="pun">(</span><span class="str">&#39;Hello &#39;</span><span class="pun">+</span><span class="kwd">this</span><span class="pun">.</span><span class="pln">firstname </span><span class="pun">+</span><span class="pln"> </span><span class="str">&#39; &#39;</span><span class="pun">+</span><span class="pln"> </span><span class="kwd">this</span><span class="pun">.</span><span class="pln">lastname</span><span class="pun">);</span><span class="pln"></span></code></p></li><li><p><code class="language-js"><span class="pun">}</span></code></p></li><li><p><code class="language-js"></code></p></li><li><p><code class="language-js"><span class="kwd">function</span><span class="pln"> </span><span class="typ">Policeman</span><span class="pun">(){</span></code></p></li><li><p><code class="language-js"><span class="pln"></span><span class="typ">Person</span><span class="pun">.</span><span class="pln">call</span><span class="pun">(</span><span class="kwd">this</span><span class="pun">);//very important </span></code></p></li><li><p><code class="language-js"><span class="pln"></span><span class="kwd">this</span><span class="pun">.</span><span class="pln">badgenumber </span><span class="pun">=</span><span class="pln"> </span><span class="str">&#39;1234&#39;</span><span class="pun">;</span></code></p></li><li><p><code class="language-js"><span class="pun">}</span></code></p></li><li><p><code class="language-js"><span class="pln">util</span><span class="pun">.</span><span class="pln">inherits</span><span class="pun">(</span><span class="typ">Policeman</span><span class="pun">,</span><span class="typ">Person</span><span class="pun">);</span></code></p></li><li><p><code class="language-js"></code></p></li><li><p><code class="language-js"><span class="kwd">var</span><span class="pln"> pol</span><span class="pun">=</span><span class="pln"> &nbsp;</span><span class="kwd">new</span><span class="pln"> </span><span class="typ">Policeman</span><span class="pun">();</span></code></p></li><li><p><code class="language-js"><span class="pln">pol</span><span class="pun">.</span><span class="pln">greet</span><span class="pun">();</span></code></p></li></ol></pre><p><br/></p><p><br/></p><p><br/></p><p>Javascript 同步的</p><p>Nodejs 异步的</p><p><br/></p><p>Event Driven No-Blocking I?O in V* javascript</p><p><img border="0" style="width: 619px; height: 299px;" src="node.js  Foundation_files/35231e02-895c-433d-be9d-1089e8ca2388.png" /></p><p><br/></p><p>no-blocking : do other things without stopping your programing from running</p><p><br/></p><p><br/></p><p><br/></p><p><br/></p><p><br/></p><p>Buffer</p><p><br/></p><p>the relationship between buffer and stream</p><p><img border="0" style="width: 624px; height: 320px;" src="node.js  Foundation_files/0464b4eb-a0d5-41ae-a4f5-b9502088d82f.png" /></p><p><br/></p><p><br/></p><p><br/></p><p>缓冲区 Buffer的使用:</p><pre class="prettyprint linenums prettyprinted" style=""><ol class="linenums list-paddingleft-2"><li><p><code class="language-js"><span class="kwd">var</span><span class="pln"> buf &nbsp;</span><span class="pun">=</span><span class="pln"> </span><span class="kwd">new</span><span class="pln"> </span><span class="typ">Buffer</span><span class="pun">(</span><span class="str">&#39;Hello&#39;</span><span class="pun">,</span><span class="str">&#39;utf8&#39;</span><span class="pun">);</span></code></p></li><li><p><code class="language-js"><span class="pln">console</span><span class="pun">.</span><span class="pln">log</span><span class="pun">(</span><span class="pln">buf</span><span class="pun">);</span></code></p></li><li><p><code class="language-js"><span class="pln">console</span><span class="pun">.</span><span class="pln">log</span><span class="pun">(</span><span class="pln">buf</span><span class="pun">.</span><span class="pln">toString</span><span class="pun">());</span></code></p></li><li><p><code class="language-js"><span class="pln">console</span><span class="pun">.</span><span class="pln">log</span><span class="pun">(</span><span class="pln">buf</span><span class="pun">.</span><span class="pln">toJSON</span><span class="pun">());</span></code></p></li><li><p><code class="language-js"><span class="pln">console</span><span class="pun">.</span><span class="pln">log</span><span class="pun">(</span><span class="pln">buf</span><span class="pun">[</span><span class="lit">2</span><span class="pun">]);</span></code></p></li><li><p><code class="language-js"><span class="pln">buf</span><span class="pun">.</span><span class="pln">write</span><span class="pun">(</span><span class="str">&#39;wo&#39;</span><span class="pun">);</span></code></p></li><li><p><code class="language-js"><span class="pln">console</span><span class="pun">.</span><span class="pln">log</span><span class="pun">(</span><span class="pln">buf</span><span class="pun">.</span><span class="pln">toString</span><span class="pun">());</span><span class="pln"> </span><span class="com">//wollo, 会覆盖缓冲区</span></code></p></li></ol></pre><p><br/></p><p><br/></p><p>Files and fs&nbsp;</p><p><br/></p><p>ERROR_FIRST CALLBACK:&nbsp;</p><p>callbacks takes an error object as the first parameters;</p><p><br/></p><p>CHUNK:</p><p>&nbsp;A piece of data sent through &nbsp;a stream<br/></p><p>Data is split in &#39;chunks&#39; &nbsp;and streamed</p><p><br/></p><p><br/></p><pre class="prettyprint linenums prettyprinted" style=""><ol class="linenums list-paddingleft-2"><li><p><code class="language-js"><span class="kwd">var</span><span class="pln"> fs </span><span class="pun">=</span><span class="pln"> require</span><span class="pun">(</span><span class="str">&#39;fs&#39;</span><span class="pun">);</span></code></p></li><li><p><code class="language-js"><span class="kwd">var</span><span class="pln"> greet </span><span class="pun">=</span><span class="pln"> fs</span><span class="pun">.</span><span class="pln">readFileSync</span><span class="pun">(</span><span class="pln">__dirname</span><span class="pun">+</span><span class="str">&#39;/greet.txt&#39;</span><span class="pun">,</span><span class="str">&#39;utf8&#39;</span><span class="pun">);</span></code></p></li><li><p><code class="language-js"></code></p></li><li><p><code class="language-js"><span class="pln">console</span><span class="pun">.</span><span class="pln">log</span><span class="pun">(</span><span class="pln">greet</span><span class="pun">);</span></code></p></li><li><p><code class="language-js"></code></p></li><li><p><code class="language-js"><span class="kwd">var</span><span class="pln"> greet2 </span><span class="pun">=</span><span class="pln"> fs</span><span class="pun">.</span><span class="pln">readFile</span><span class="pun">(</span><span class="pln">__dirname</span><span class="pun">+</span><span class="str">&#39;/greet.txt&#39;</span><span class="pun">,</span><span class="kwd">function</span><span class="pun">(</span><span class="pln">err</span><span class="pun">,</span><span class="pln">data</span><span class="pun">){</span></code></p></li><li><p><code class="language-js"><span class="pln"> console</span><span class="pun">.</span><span class="pln">log</span><span class="pun">(</span><span class="pln">data</span><span class="pun">.</span><span class="pln">toString</span><span class="pun">());</span></code></p></li><li><p><code class="language-js"><span class="pun">});</span></code></p></li><li><p><code class="language-js"><span class="pln">console</span><span class="pun">.</span><span class="pln">log</span><span class="pun">(</span><span class="str">&#39;Done&#39;</span><span class="pun">);</span></code></p></li></ol></pre><p><br/></p><p><br/></p><p>things about createWriteStream createReadStream&nbsp;</p><p><br/></p><pre class="prettyprint linenums prettyprinted" style=""><ol class="linenums list-paddingleft-2"><li><p><code class="language-js"><span class="kwd">var</span><span class="pln"> fs </span><span class="pun">=</span><span class="pln"> require</span><span class="pun">(</span><span class="str">&#39;fs&#39;</span><span class="pun">);</span></code></p></li><li><p><code class="language-js"></code><code class="language-js"><span class="kwd">var</span><span class="pln"> readable </span><span class="pun">=</span><span class="pln"> fs</span><span class="pun">.</span><span class="pln">createReadStream</span><span class="pun">(</span><span class="pln">__dirname</span><span class="pun">+</span><span class="str">&#39;/greet.txt&#39;</span><span class="pun">,{</span><span class="pln">encoding</span><span class="pun">:</span><span class="pln"> </span><span class="str">&#39;utf8&#39;</span><span class="pun">,</span><span class="pln">highWaterMark</span><span class="pun">:</span><span class="pln"> </span><span class="lit">16</span><span class="pun">*</span><span class="lit">1024</span><span class="pun">});</span></code></p></li><li><p><code class="language-js"></code><code class="language-js"><span class="kwd">var</span><span class="pln"> writable </span><span class="pun">=</span><span class="pln"> fs</span><span class="pun">.</span><span class="pln">createWriteStream</span><span class="pun">(</span><span class="pln">__dirname </span><span class="pun">+</span><span class="pln"> </span><span class="str">&#39;/greatcopy.txt&#39;</span><span class="pun">);</span></code></p></li><li><p><code class="language-js"><span class="pln">readable</span><span class="pun">.</span><span class="pln">on</span><span class="pun">(</span><span class="str">&#39;data&#39;</span><span class="pun">,</span><span class="kwd">function</span><span class="pun">(</span><span class="pln">chunk</span><span class="pun">){</span></code></p></li><li><p><code class="language-js"><span class="pln"> console</span><span class="pun">.</span><span class="pln">log</span><span class="pun">(</span><span class="pln">chunk</span><span class="pun">.</span><span class="pln">length</span><span class="pun">);</span></code></p></li><li><p><code class="language-js"><span class="pln"> writable</span><span class="pun">.</span><span class="pln">write</span><span class="pun">(</span><span class="pln">chunk</span><span class="pun">);</span></code></p></li><li><p><code class="language-js"><span class="pun">});</span></code></p></li></ol></pre><p><br/></p><p>pipe&nbsp;</p><p><img border="0" style="width: 686px; height: 422px;" src="node.js  Foundation_files/16d74147-b7d7-48be-81b4-300f66f1f663.png" /></p><p><br/></p><pre class="prettyprint linenums prettyprinted" style=""><ol class="linenums list-paddingleft-2"><li><p><code class="language-js"><span class="kwd">var</span><span class="pln"> fs </span><span class="pun">=</span><span class="pln"> require</span><span class="pun">(</span><span class="str">&#39;fs&#39;</span><span class="pun">);</span></code></p></li><li><p><code class="language-js"><span class="kwd">var</span><span class="pln"> zlib </span><span class="pun">=</span><span class="pln"> require</span><span class="pun">(</span><span class="str">&#39;zlib&#39;</span><span class="pun">);</span></code></p></li><li><p><code class="language-js"><span class="kwd">var</span><span class="pln"> readable </span><span class="pun">=</span><span class="pln"> fs</span><span class="pun">.</span><span class="pln">createReadStream</span><span class="pun">(</span><span class="pln">__dirname</span><span class="pun">+</span><span class="str">&#39;/greet.txt&#39;</span><span class="pln"> </span><span class="pun">);</span></code></p></li><li><p><code class="language-js"></code></p></li><li><p><code class="language-js"><span class="kwd">var</span><span class="pln"> writable </span><span class="pun">=</span><span class="pln"> fs</span><span class="pun">.</span><span class="pln">createWriteStream</span><span class="pun">(</span><span class="pln">__dirname </span><span class="pun">+</span><span class="pln"> </span><span class="str">&#39;/greatcopy.txt&#39;</span><span class="pun">);</span></code></p></li><li><p><code class="language-js"><span class="pln"> </span></code></p></li><li><p><code class="language-js"><span class="pln"> </span><span class="kwd">var</span><span class="pln"> compressed </span><span class="pun">=</span><span class="pln"> fs</span><span class="pun">.</span><span class="pln">createWriteStream</span><span class="pun">(</span><span class="pln">__dirname </span><span class="pun">+</span><span class="pln"> </span><span class="str">&#39;/great.txt.gz&#39;</span><span class="pun">);</span></code></p></li><li><p><code class="language-js"><span class="pln"> </span><span class="kwd">var</span><span class="pln"> gzip </span><span class="pun">=</span><span class="pln"> zlib</span><span class="pun">.</span><span class="pln">createGzip</span><span class="pun">();</span></code></p></li><li><p><code class="language-js"><span class="pln"> </span></code></p></li><li><p><code class="language-js"><span class="pln"> readable</span><span class="pun">.</span><span class="pln">pipe</span><span class="pun">(</span><span class="pln">writable</span><span class="pun">);</span></code></p></li><li><p><code class="language-js"><span class="pln"> </span></code></p></li><li><p><code class="language-js"><span class="pln"> readable</span><span class="pun">.</span><span class="pln">pipe</span><span class="pun">(</span><span class="pln">gzip</span><span class="pun">).</span><span class="pln">pipe</span><span class="pun">(</span><span class="pln">compressed</span><span class="pun">);</span></code></p></li></ol></pre><p><br/></p><p><img border="0" style="width: 722px; height: 418px;" src="node.js  Foundation_files/f2f9ecb0-2732-4078-8cdd-21ec4496a08a.png" /></p><p><br/></p><p><br/></p><p><br/></p><p>HTTP_PARSER</p><p><br/></p><pre class="prettyprint linenums prettyprinted" style=""><ol class="linenums list-paddingleft-2"><li><p><code class="language-js"><span class="kwd">var</span><span class="pln"> &nbsp;http </span><span class="pun">=</span><span class="pln"> require</span><span class="pun">(</span><span class="str">&#39;http&#39;</span><span class="pun">);</span></code></p></li><li><p><code class="language-js"></code></p></li><li><p><code class="language-js"><span class="pln">http</span><span class="pun">.</span><span class="pln">createServer</span><span class="pun">(</span><span class="kwd">function</span><span class="pun">(</span><span class="pln">req</span><span class="pun">,</span><span class="pln">res</span><span class="pun">){</span></code></p></li><li><p><code class="language-js"><span class="pln"></span></code></p></li><li><p><code class="language-js"><span class="pln"> res</span><span class="pun">.</span><span class="pln">writeHead</span><span class="pun">(</span><span class="lit">200</span><span class="pun">,{</span><span class="str">&#39;Content-Type&#39;</span><span class="pun">:</span><span class="str">&#39;text/plain&#39;</span><span class="pun">})</span></code></p></li><li><p><code class="language-js"><span class="pln"> res</span><span class="pun">.</span><span class="pln">end</span><span class="pun">(</span><span class="str">&#39;Hello world\n&#39;</span><span class="pun">);</span></code></p></li><li><p><code class="language-js"><span class="pln"></span></code></p></li><li><p><code class="language-js"><span class="pun">}).</span><span class="pln">listen</span><span class="pun">(</span><span class="lit">1337</span><span class="pun">,</span><span class="str">&#39;127.0.0.1&#39;</span><span class="pun">);</span></code></p></li></ol></pre><p><br/></p><p>&nbsp;引入html 文件</p><p><br/></p><pre class="prettyprint linenums prettyprinted" style=""><ol class="linenums list-paddingleft-2"><li><p><code class="language-js"><span class="kwd">var</span><span class="pln"> &nbsp;http </span><span class="pun">=</span><span class="pln"> require</span><span class="pun">(</span><span class="str">&#39;http&#39;</span><span class="pun">);</span></code></p></li><li><p><code class="language-js"><span class="kwd">var</span><span class="pln"> fs </span><span class="pun">=</span><span class="pln"> require</span><span class="pun">(</span><span class="str">&#39;fs&#39;</span><span class="pun">);</span></code></p></li><li><p><code class="language-js"><span class="pln">http</span><span class="pun">.</span><span class="pln">createServer</span><span class="pun">(</span><span class="kwd">function</span><span class="pun">(</span><span class="pln">req</span><span class="pun">,</span><span class="pln">res</span><span class="pun">){</span></code></p></li><li><p><code class="language-js"><span class="pln"></span></code></p></li><li><p><code class="language-js"><span class="pln"> res</span><span class="pun">.</span><span class="pln">writeHead</span><span class="pun">(</span><span class="lit">200</span><span class="pun">,{</span><span class="str">&#39;Content-Type&#39;</span><span class="pun">:</span><span class="str">&#39;text/html&#39;</span><span class="pun">});</span></code></p></li><li><p><code class="language-js"><span class="pln"></span><span class="kwd">var</span><span class="pln"> html </span><span class="pun">=</span><span class="pln"> fs</span><span class="pun">.</span><span class="pln">readFileSync</span><span class="pun">(</span><span class="pln">__dirname</span><span class="pun">+</span><span class="str">&#39;/index.html&#39;</span><span class="pun">);</span><span class="pln"></span></code></p></li><li><p><code class="language-js"><span class="pln"> res</span><span class="pun">.</span><span class="pln">end</span><span class="pun">(</span><span class="pln">html</span><span class="pun">);</span></code></p></li><li><p><code class="language-js"><span class="pln"></span></code></p></li><li><p><code class="language-js"><span class="pun">}).</span><span class="pln">listen</span><span class="pun">(</span><span class="lit">1337</span><span class="pun">,</span><span class="str">&#39;127.0.0.1&#39;</span><span class="pun">);</span></code></p></li></ol></pre><p><br/></p><pre class="prettyprint linenums prettyprinted" style=""><ol class="linenums list-paddingleft-2"><li><p><code class="language-js"><span class="kwd">var</span><span class="pln"> &nbsp;http </span><span class="pun">=</span><span class="pln"> require</span><span class="pun">(</span><span class="str">&#39;http&#39;</span><span class="pun">);</span></code></p></li><li><p><code class="language-js"><span class="kwd">var</span><span class="pln"> &nbsp;fs </span><span class="pun">=</span><span class="pln"> require</span><span class="pun">(</span><span class="str">&#39;fs&#39;</span><span class="pun">);</span></code></p></li><li><p><code class="language-js"><span class="pln">http</span><span class="pun">.</span><span class="pln">createServer</span><span class="pun">(</span><span class="kwd">function</span><span class="pun">(</span><span class="pln">req</span><span class="pun">,</span><span class="pln">res</span><span class="pun">){</span></code></p></li><li><p><code class="language-js"><span class="pln"></span></code></p></li><li><p><code class="language-js"><span class="pln"> res</span><span class="pun">.</span><span class="pln">writeHead</span><span class="pun">(</span><span class="lit">200</span><span class="pun">,{</span><span class="str">&#39;Content-Type&#39;</span><span class="pun">:</span><span class="str">&#39;text/html&#39;</span><span class="pun">});</span></code></p></li><li><p><code class="language-js"><span class="pln"></span><span class="kwd">var</span><span class="pln"> html </span><span class="pun">=</span><span class="pln"> fs</span><span class="pun">.</span><span class="pln">createReadStream</span><span class="pun">(</span><span class="pln">__dirname</span><span class="pun">+</span><span class="str">&#39;/index.html&#39;</span><span class="pun">).</span><span class="pln">pipe</span><span class="pun">(</span><span class="pln">res</span><span class="pun">)</span><span class="pln"> </span></code></p></li><li><p><code class="language-js"><span class="pln"></span></code></p></li><li><p><code class="language-js"><span class="pun">}).</span><span class="pln">listen</span><span class="pun">(</span><span class="lit">1337</span><span class="pun">,</span><span class="str">&#39;127.0.0.1&#39;</span><span class="pun">);</span></code></p></li></ol></pre><p><br/></p><p><br/></p><p><br/></p><p>OutPut &nbsp;JSON</p><p>JSON.stringify(obj)</p><pre class="prettyprint linenums prettyprinted" style=""><ol class="linenums list-paddingleft-2"><li><p><code class="language-js"><span class="kwd">var</span><span class="pln"> &nbsp;http </span><span class="pun">=</span><span class="pln"> require</span><span class="pun">(</span><span class="str">&#39;http&#39;</span><span class="pun">);</span></code></p></li><li><p><code class="language-js"><span class="kwd">var</span><span class="pln"> &nbsp;fs </span><span class="pun">=</span><span class="pln"> require</span><span class="pun">(</span><span class="str">&#39;fs&#39;</span><span class="pun">);</span></code></p></li><li><p><code class="language-js"><span class="pln">http</span><span class="pun">.</span><span class="pln">createServer</span><span class="pun">(</span><span class="kwd">function</span><span class="pun">(</span><span class="pln">req</span><span class="pun">,</span><span class="pln">res</span><span class="pun">){</span></code></p></li><li><p><code class="language-js"><span class="pln"></span></code></p></li><li><p><code class="language-js"><span class="pln"> res</span><span class="pun">.</span><span class="pln">writeHead</span><span class="pun">(</span><span class="lit">200</span><span class="pun">,{</span><span class="str">&#39;Content-Type&#39;</span><span class="pun">:</span><span class="str">&#39;application/json&#39;</span><span class="pun">});</span></code></p></li><li><p><code class="language-js"><span class="pln"></span><span class="kwd">var</span><span class="pln"> obj </span><span class="pun">=</span><span class="pln"> </span><span class="pun">{</span></code></p></li><li><p><code class="language-js"><span class="pln"> firstname</span><span class="pun">:</span><span class="str">&#39;John&#39;</span><span class="pun">,</span></code></p></li><li><p><code class="language-js"><span class="pln"> lastname</span><span class="pun">:</span><span class="str">&#39;Doe&#39;</span></code></p></li><li><p><code class="language-js"><span class="pln"></span><span class="pun">};</span></code></p></li><li><p><code class="language-js"><span class="pln"></span></code></p></li><li><p><code class="language-js"><span class="pln"> res</span><span class="pun">.</span><span class="pln">end</span><span class="pun">(</span><span class="pln">JSON</span><span class="pun">.</span><span class="pln">stringify</span><span class="pun">(</span><span class="pln">obj</span><span class="pun">));</span></code></p></li><li><p><code class="language-js"></code></p></li><li><p><code class="language-js"><span class="pun">}).</span><span class="pln">listen</span><span class="pun">(</span><span class="lit">1337</span><span class="pun">,</span><span class="str">&#39;127.0.0.1&#39;</span><span class="pun">);</span></code></p></li></ol></pre><p>Routing:&nbsp;</p><p>mapping &nbsp;http requests to &nbsp;contents</p><p><br/></p><p><br/></p><pre class="prettyprint linenums prettyprinted" style=""><ol class="linenums list-paddingleft-2"><li><p><code class="language-js"><span class="kwd">var</span><span class="pln"> &nbsp;http </span><span class="pun">=</span><span class="pln"> require</span><span class="pun">(</span><span class="str">&#39;http&#39;</span><span class="pun">);</span></code></p></li><li><p><code class="language-js"><span class="kwd">var</span><span class="pln"> &nbsp;fs </span><span class="pun">=</span><span class="pln"> require</span><span class="pun">(</span><span class="str">&#39;fs&#39;</span><span class="pun">);</span></code></p></li><li><p><code class="language-js"><span class="pln">http</span><span class="pun">.</span><span class="pln">createServer</span><span class="pun">(</span><span class="kwd">function</span><span class="pun">(</span><span class="pln">req</span><span class="pun">,</span><span class="pln">res</span><span class="pun">){</span></code></p></li><li><p><code class="language-js"><span class="pln"></span></code></p></li><li><p><code class="language-js"><span class="kwd">if</span><span class="pun">(</span><span class="pln">req</span><span class="pun">.</span><span class="pln">url </span><span class="pun">===</span><span class="pln"> </span><span class="str">&#39;/&#39;</span><span class="pun">){</span></code></p></li><li><p><code class="language-js"><span class="pln"> fs</span><span class="pun">.</span><span class="pln">createReadStream</span><span class="pun">(</span><span class="pln">__dirname</span><span class="pun">+</span><span class="str">&#39;/index.html&#39;</span><span class="pun">).</span><span class="pln">pipe</span><span class="pun">(</span><span class="pln">res</span><span class="pun">);</span></code></p></li><li><p><code class="language-js"><span class="pun">}</span></code></p></li><li><p><code class="language-js"><span class="kwd">if</span><span class="pun">(</span><span class="pln">res</span><span class="pun">.</span><span class="pln">url </span><span class="pun">===</span><span class="pln"> </span><span class="str">&#39;/api&#39;</span><span class="pun">){</span></code></p></li><li><p><code class="language-js"><span class="pln"> res</span><span class="pun">.</span><span class="pln">writeHead</span><span class="pun">(</span><span class="lit">200</span><span class="pun">,{</span><span class="str">&#39;Content-Type&#39;</span><span class="pun">:</span><span class="str">&#39;application/json&#39;</span><span class="pun">});</span></code></p></li><li><p><code class="language-js"><span class="pln"></span><span class="kwd">var</span><span class="pln"> obj </span><span class="pun">=</span><span class="pln"> </span><span class="pun">{</span></code></p></li><li><p><code class="language-js"><span class="pln"> firstname</span><span class="pun">:</span><span class="str">&#39;John&#39;</span><span class="pun">,</span></code></p></li><li><p><code class="language-js"><span class="pln"> lastname</span><span class="pun">:</span><span class="str">&#39;Doe&#39;</span></code></p></li><li><p><code class="language-js"><span class="pln"></span><span class="pun">};</span><span class="pln"></span></code></p></li><li><p><code class="language-js"><span class="pln"> res</span><span class="pun">.</span><span class="pln">end</span><span class="pun">(</span><span class="pln">JSON</span><span class="pun">.</span><span class="pln">stringify</span><span class="pun">(</span><span class="pln">obj</span><span class="pun">));</span></code></p></li><li><p><code class="language-js"><span class="pln"> </span><span class="pun">}</span></code></p></li><li><p><code class="language-js"><span class="pln"> </span></code></p></li><li><p><code class="language-js"><span class="pln"> res</span><span class="pun">.</span><span class="pln">writeHead</span><span class="pun">(</span><span class="lit">404</span><span class="pun">);</span></code></p></li><li><p><code class="language-js"><span class="pln"> res</span><span class="pun">.</span><span class="pln">end</span><span class="pun">();</span></code></p></li><li><p><code class="language-js"></code></p></li><li><p><code class="language-js"><span class="pun">}).</span><span class="pln">listen</span><span class="pun">(</span><span class="lit">1337</span><span class="pun">,</span><span class="str">&#39;127.0.0.1&#39;</span><span class="pun">);</span></code></p></li></ol></pre><p><br/></p><p><br/></p><p><br/></p><p>使用 npm&nbsp;</p><p>进入文件夹</p><p>npm init ;</p><p>npm install moment</p><p><br/></p><p>发布文件后,删除node_modules后,</p><p>使用npm install</p><p><br/></p><p>&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp; --save 添加到package.json 文件中</p><p>npm install jasmine-node --save-dev &nbsp;开发依赖模块</p><p><br/></p><p>npm install -g nodemon &nbsp; 全局安装</p><p><br/></p><p>npm update ,更新所有的dependencies</p><p><br/></p><p><br/></p><p>使用别人的代码</p><p><br/></p><p><br/></p><p><br/></p><pre class="prettyprint linenums prettyprinted" style=""><ol class="linenums list-paddingleft-2"><li><p><code class="language-js"><span class="kwd">var</span><span class="pln"> express </span><span class="pun">=</span><span class="pln"> require</span><span class="pun">(</span><span class="str">&#39;express&#39;</span><span class="pun">);</span></code></p></li><li><p><code class="language-js"></code></p></li><li><p><code class="language-js"><span class="kwd">var</span><span class="pln"> app </span><span class="pun">=</span><span class="pln"> express</span><span class="pun">();</span></code></p></li><li><p><code class="language-js"></code></p></li><li><p><code class="language-js"><span class="kwd">var</span><span class="pln"> port </span><span class="pun">=</span><span class="pln"> process</span><span class="pun">.</span><span class="pln">env</span><span class="pun">.</span><span class="pln">PORT </span><span class="pun">||</span><span class="pln"> </span><span class="lit">3000</span><span class="pun">;</span></code></p></li><li><p><code class="language-js"><span class="pln">app</span><span class="pun">.</span><span class="pln">use</span><span class="pun">(</span><span class="str">&#39;/assets&#39;</span><span class="pun">,</span><span class="pln">express</span><span class="pun">.</span><span class="kwd">static</span><span class="pun">(</span><span class="pln">__dirname</span><span class="pun">+</span><span class="str">&#39;/public&#39;</span><span class="pun">));</span></code></p></li><li><p><code class="language-js"><span class="pln">app</span><span class="pun">.</span><span class="pln">use</span><span class="pun">(</span><span class="str">&#39;/&#39;</span><span class="pun">,</span><span class="kwd">function</span><span class="pun">(</span><span class="pln">req</span><span class="pun">,</span><span class="pln">res</span><span class="pun">,</span><span class="pln">next</span><span class="pun">){</span></code></p></li><li><p><code class="language-js"><span class="pln"> console</span><span class="pun">.</span><span class="pln">log</span><span class="pun">(</span><span class="str">&#39;Request Url: &#39;</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> req</span><span class="pun">.</span><span class="pln">url</span><span class="pun">);</span></code></p></li><li><p><code class="language-js"><span class="pln"> next</span><span class="pun">();</span></code></p></li><li><p><code class="language-js"><span class="pun">})</span></code></p></li><li><p><code class="language-js"><span class="pln">app</span><span class="pun">.</span><span class="kwd">get</span><span class="pun">(</span><span class="str">&#39;/&#39;</span><span class="pun">,</span><span class="kwd">function</span><span class="pun">(</span><span class="pln">req</span><span class="pun">,</span><span class="pln">res</span><span class="pun">){</span></code></p></li><li><p><code class="language-js"><span class="pln"> res</span><span class="pun">.</span><span class="pln">send</span><span class="pun">(</span><span class="str">&#39;&lt;html&gt;&lt;head&gt;&lt;link href = assets/style.css type =text/css rel = stylesheet /&gt;&lt;/head&gt;&lt;body&gt;&lt;h1&gt;Hello world&lt;/h1&gt;&lt;/body&gt;&lt;/html&gt;&#39;</span><span class="pun">);</span></code></p></li><li><p><code class="language-js"><span class="pun">});</span></code></p></li><li><p><code class="language-js"></code></p></li><li><p><code class="language-js"><span class="pln">app</span><span class="pun">.</span><span class="kwd">get</span><span class="pun">(</span><span class="str">&#39;/person/:id&#39;</span><span class="pun">,</span><span class="kwd">function</span><span class="pun">(</span><span class="pln">req</span><span class="pun">,</span><span class="pln">res</span><span class="pun">){</span></code></p></li><li><p><code class="language-js"><span class="pln"> res</span><span class="pun">.</span><span class="pln">send</span><span class="pun">(</span><span class="str">&#39;&lt;html&gt;&lt;body&gt;&lt;h1&gt; Person: &#39;</span><span class="pun">+</span><span class="pln">req</span><span class="pun">.</span><span class="pln">params</span><span class="pun">.</span><span class="pln">id</span><span class="pun">+</span><span class="str">&#39;&lt;/h1&gt;&lt;/body&gt;&lt;/html&gt;&#39;</span><span class="pun">);</span></code></p></li><li><p><code class="language-js"><span class="pun">})</span></code></p></li><li><p><code class="language-js"><span class="pln">app</span><span class="pun">.</span><span class="kwd">get</span><span class="pun">(</span><span class="str">&#39;/api&#39;</span><span class="pun">,</span><span class="kwd">function</span><span class="pun">(</span><span class="pln">req</span><span class="pun">,</span><span class="pln">res</span><span class="pun">){</span></code></p></li><li><p><code class="language-js"><span class="pln"> res</span><span class="pun">.</span><span class="pln">send</span><span class="pun">(</span><span class="str">&#39;&lt;html&gt;&lt;body&gt;&lt;h1&gt;Hello world&lt;/h1&gt;&lt;/body&gt;&lt;/html&gt;&#39;</span><span class="pun">)</span></code></p></li><li><p><code class="language-js"><span class="pun">})</span></code></p></li><li><p><code class="language-js"></code></p></li><li><p><code class="language-js"><span class="pln">app</span><span class="pun">.</span><span class="pln">listen</span><span class="pun">(</span><span class="pln">port</span><span class="pun">);</span></code></p></li></ol></pre><p><br/></p><p><br/></p><pre class="prettyprint linenums prettyprinted" style=""><ol class="linenums list-paddingleft-2"><li><p><code class="language-js"><span class="kwd">var</span><span class="pln"> express </span><span class="pun">=</span><span class="pln"> require</span><span class="pun">(</span><span class="str">&#39;express&#39;</span><span class="pun">);</span></code></p></li><li><p><code class="language-js"></code></p></li><li><p><code class="language-js"><span class="kwd">var</span><span class="pln"> app </span><span class="pun">=</span><span class="pln"> express</span><span class="pun">();</span></code></p></li><li><p><code class="language-js"></code></p></li><li><p><code class="language-js"><span class="kwd">var</span><span class="pln"> port </span><span class="pun">=</span><span class="pln"> process</span><span class="pun">.</span><span class="pln">env</span><span class="pun">.</span><span class="pln">PORT </span><span class="pun">||</span><span class="pln"> </span><span class="lit">3000</span><span class="pun">;</span></code></p></li><li><p><code class="language-js"><span class="pln">app</span><span class="pun">.</span><span class="pln">use</span><span class="pun">(</span><span class="str">&#39;/assets&#39;</span><span class="pun">,</span><span class="pln">express</span><span class="pun">.</span><span class="kwd">static</span><span class="pun">(</span><span class="pln">__dirname</span><span class="pun">+</span><span class="str">&#39;/public&#39;</span><span class="pun">));</span></code></p></li><li><p><code class="language-js"></code></p></li><li><p><code class="language-js"><span class="pln">app</span><span class="pun">.</span><span class="kwd">set</span><span class="pun">(</span><span class="str">&#39;view engine&#39;</span><span class="pun">,</span><span class="str">&#39;ejs&#39;</span><span class="pun">)</span></code></p></li><li><p><code class="language-js"></code></p></li><li><p><code class="language-js"><span class="pln">app</span><span class="pun">.</span><span class="pln">use</span><span class="pun">(</span><span class="str">&#39;/&#39;</span><span class="pun">,</span><span class="kwd">function</span><span class="pun">(</span><span class="pln">req</span><span class="pun">,</span><span class="pln">res</span><span class="pun">,</span><span class="pln">next</span><span class="pun">){</span></code></p></li><li><p><code class="language-js"><span class="pln"> console</span><span class="pun">.</span><span class="pln">log</span><span class="pun">(</span><span class="str">&#39;Request Url: &#39;</span><span class="pln"> </span><span class="pun">+</span><span class="pln"> req</span><span class="pun">.</span><span class="pln">url</span><span class="pun">);</span></code></p></li><li><p><code class="language-js"><span class="pln"> next</span><span class="pun">();</span></code></p></li><li><p><code class="language-js"><span class="pun">})</span></code></p></li><li><p><code class="language-js"></code></p></li><li><p><code class="language-js"><span class="pln">app</span><span class="pun">.</span><span class="kwd">get</span><span class="pun">(</span><span class="str">&#39;/person/:id&#39;</span><span class="pun">,</span><span class="kwd">function</span><span class="pun">(</span><span class="pln">req</span><span class="pun">,</span><span class="pln">res</span><span class="pun">){</span></code></p></li><li><p><code class="language-js"><span class="pln"> res</span><span class="pun">.</span><span class="pln">render</span><span class="pun">(</span><span class="str">&#39;person&#39;</span><span class="pun">,{</span><span class="pln">ID</span><span class="pun">:</span><span class="pln"> req</span><span class="pun">.</span><span class="pln">params</span><span class="pun">.</span><span class="pln">id</span><span class="pun">,</span><span class="typ">QStr</span><span class="pun">:</span><span class="pln"> req</span><span class="pun">.</span><span class="pln">query</span><span class="pun">.</span><span class="pln">qstr</span><span class="pun">});</span></code></p></li><li><p><code class="language-js"><span class="pun">})</span></code></p></li><li><p><code class="language-js"></code></p></li><li><p><code class="language-js"><span class="pln">app</span><span class="pun">.</span><span class="pln">listen</span><span class="pun">(</span><span class="pln">port</span><span class="pun">);</span></code></p></li></ol></pre><p>person.ejs:</p><p><br/></p><pre class="prettyprint linenums prettyprinted" style=""><ol class="linenums list-paddingleft-2"><li><p><code class="language-js"><span class="pun">&lt;</span><span class="pln">html</span><span class="pun">&gt;</span></code></p></li><li><p><code class="language-js"><span class="pln"></span><span class="pun">&lt;</span><span class="pln">head</span><span class="pun">&gt;</span></code></p></li><li><p><code class="language-js"><span class="pln"></span><span class="pun">&lt;</span><span class="pln">link href </span><span class="pun">=</span><span class="str">&#39;assets/styl.css&#39;</span><span class="pln"> type </span><span class="pun">=</span><span class="pln"> </span><span class="str">&quot;text/css&quot;</span><span class="pln"> ref</span><span class="pun">=</span><span class="pln"> </span><span class="str">&quot;stylesheeet&quot;</span><span class="pln"> </span><span class="pun">/&gt;</span></code></p></li><li><p><code class="language-js"><span class="pln"></span><span class="pun">&lt;/</span><span class="pln">head</span><span class="pun">&gt;</span></code></p></li><li><p><code class="language-js"><span class="pln"></span><span class="pun">&lt;</span><span class="pln">body</span><span class="pun">&gt;</span></code></p></li><li><p><code class="language-js"><span class="pln"> </span><span class="pun">&lt;</span><span class="pln">h1</span><span class="pun">&gt;</span><span class="typ">Peson</span><span class="pun">:</span><span class="pln"> </span><span class="pun">&lt;%=</span><span class="pln">ID </span><span class="pun">%&gt;</span><span class="pln"> </span><span class="pun">&lt;/</span><span class="pln">h1</span><span class="pun">&gt;</span></code></p></li><li><p><code class="language-js"><span class="pln"> </span><span class="pun">&lt;</span><span class="pln">h2</span><span class="pun">&gt;</span><span class="typ">Query</span><span class="pln"> </span><span class="typ">String</span><span class="pln"> </span><span class="typ">Value</span><span class="pun">:</span><span class="pln"> </span><span class="pun">&lt;%=</span><span class="pln"> </span><span class="typ">QStr</span><span class="pln"> </span><span class="pun">%&gt;</span><span class="pln"> </span><span class="pun">&lt;/</span><span class="pln">h2</span><span class="pun">&gt;</span></code></p></li><li><p><code class="language-js"><span class="pln"></span><span class="pun">&lt;/</span><span class="pln">body</span><span class="pun">&gt;</span></code></p></li><li><p><code class="language-js"><span class="pun">&lt;/</span><span class="pln">html</span><span class="pun">&gt;</span></code></p></li></ol></pre><p><br/></p><p><br/></p><p>npm install body-parser</p><p><br/></p><p><br/></p><pre class="prettyprint linenums prettyprinted" style=""><ol class="linenums list-paddingleft-2"><li><p><code class="language-js"><span class="kwd">var</span><span class="pln"> express </span><span class="pun">=</span><span class="pln"> require</span><span class="pun">(</span><span class="str">&#39;express&#39;</span><span class="pun">);</span></code></p></li><li><p><code class="language-js"><span class="kwd">var</span><span class="pln"> bodyParser </span><span class="pun">=</span><span class="pln"> require</span><span class="pun">(</span><span class="str">&#39;body-parser&#39;</span><span class="pun">);</span></code></p></li><li><p><code class="language-js"><span class="kwd">var</span><span class="pln"> app </span><span class="pun">=</span><span class="pln"> express</span><span class="pun">();</span></code></p></li><li><p><code class="language-js"></code></p></li><li><p><code class="language-js"><span class="kwd">var</span><span class="pln"> urlencodedParser </span><span class="pun">=</span><span class="pln"> bodyParser</span><span class="pun">.</span><span class="pln">urlencoded</span><span class="pun">({</span><span class="pln">extended</span><span class="pun">:</span><span class="pln"> </span><span class="kwd">false</span><span class="pun">});</span></code></p></li><li><p><code class="language-js"><span class="kwd">var</span><span class="pln"> jsonParser </span><span class="pun">=</span><span class="pln"> bodyParser</span><span class="pun">.</span><span class="pln">json</span><span class="pun">();</span></code></p></li><li><p><code class="language-js"><span class="kwd">var</span><span class="pln"> port </span><span class="pun">=</span><span class="pln"> process</span><span class="pun">.</span><span class="pln">env</span><span class="pun">.</span><span class="pln">PORT </span><span class="pun">||</span><span class="pln"> </span><span class="lit">3000</span><span class="pun">;</span></code></p></li><li><p><code class="language-js"><span class="pln">app</span><span class="pun">.</span><span class="pln">use</span><span class="pun">(</span><span class="str">&#39;/assets&#39;</span><span class="pun">,</span><span class="pln">express</span><span class="pun">.</span><span class="kwd">static</span><span class="pun">(</span><span class="pln">__dirname</span><span class="pun">+</span><span class="str">&#39;/public&#39;</span><span class="pun">));</span></code></p></li><li><p><code class="language-js"><span class="pln">app</span><span class="pun">.</span><span class="kwd">set</span><span class="pun">(</span><span class="str">&#39;view engine&#39;</span><span class="pun">,</span><span class="str">&#39;ejs&#39;</span><span class="pun">)</span></code></p></li><li><p><code class="language-js"></code></p></li><li><p><code class="language-js"><span class="pln">app</span><span class="pun">.</span><span class="kwd">get</span><span class="pun">(</span><span class="str">&#39;/&#39;</span><span class="pun">,</span><span class="kwd">function</span><span class="pun">(</span><span class="pln">req</span><span class="pun">,</span><span class="pln">res</span><span class="pun">){</span></code></p></li><li><p><code class="language-js"><span class="pln"> res</span><span class="pun">.</span><span class="pln">render</span><span class="pun">(</span><span class="str">&#39;index&#39;</span><span class="pun">);</span><span class="pln"> </span></code></p></li><li><p><code class="language-js"><span class="pun">})</span></code></p></li><li><p><code class="language-js"></code></p></li><li><p><code class="language-js"><span class="pln">app</span><span class="pun">.</span><span class="kwd">get</span><span class="pun">(</span><span class="str">&#39;/person/:id&#39;</span><span class="pun">,</span><span class="kwd">function</span><span class="pun">(</span><span class="pln">req</span><span class="pun">,</span><span class="pln">res</span><span class="pun">){</span></code></p></li><li><p><code class="language-js"><span class="pln"> res</span><span class="pun">.</span><span class="pln">render</span><span class="pun">(</span><span class="str">&#39;person&#39;</span><span class="pun">,{</span><span class="pln">ID</span><span class="pun">:</span><span class="pln"> req</span><span class="pun">.</span><span class="pln">params</span><span class="pun">.</span><span class="pln">id</span><span class="pun">,</span><span class="typ">QStr</span><span class="pun">:</span><span class="pln"> req</span><span class="pun">.</span><span class="pln">query</span><span class="pun">.</span><span class="pln">qstr</span><span class="pun">});</span></code></p></li><li><p><code class="language-js"><span class="pun">})</span></code></p></li><li><p><code class="language-js"></code></p></li><li><p><code class="language-js"><span class="pln">app</span><span class="pun">.</span><span class="pln">post</span><span class="pun">(</span><span class="str">&#39;/person&#39;</span><span class="pun">,</span><span class="pln">urlencodedParser</span><span class="pun">,</span><span class="kwd">function</span><span class="pun">(</span><span class="pln">req</span><span class="pun">,</span><span class="pln">res</span><span class="pun">){</span></code></p></li><li><p><code class="language-js"><span class="pln"> res</span><span class="pun">.</span><span class="pln">send</span><span class="pun">(</span><span class="str">&#39;Thank You!&#39;</span><span class="pun">);</span></code></p></li><li><p><code class="language-js"><span class="pln"> console</span><span class="pun">.</span><span class="pln">log</span><span class="pun">(</span><span class="pln">req</span><span class="pun">.</span><span class="pln">body</span><span class="pun">.</span><span class="pln">firstname</span><span class="pun">);</span></code></p></li><li><p><code class="language-js"><span class="pln"> console</span><span class="pun">.</span><span class="pln">log</span><span class="pun">(</span><span class="pln">req</span><span class="pun">.</span><span class="pln">body</span><span class="pun">.</span><span class="pln">lastname</span><span class="pun">);</span></code></p></li><li><p><code class="language-js"><span class="pun">})</span></code></p></li><li><p><code class="language-js"></code></p></li><li><p><code class="language-js"><span class="pln">app</span><span class="pun">.</span><span class="pln">post</span><span class="pun">(</span><span class="str">&#39;/personjson&#39;</span><span class="pun">,</span><span class="pln">jsonParser</span><span class="pun">,</span><span class="kwd">function</span><span class="pun">(</span><span class="pln">req</span><span class="pun">,</span><span class="pln">res</span><span class="pun">){</span></code></p></li><li><p><code class="language-js"><span class="pln"> res</span><span class="pun">.</span><span class="pln">send</span><span class="pun">(</span><span class="str">&#39;Thank you jsonParser&#39;</span><span class="pun">);</span></code></p></li><li><p><code class="language-js"><span class="pln"> console</span><span class="pun">.</span><span class="pln">log</span><span class="pun">(</span><span class="pln">req</span><span class="pun">.</span><span class="pln">body</span><span class="pun">.</span><span class="pln">firstname</span><span class="pun">);</span></code></p></li><li><p><code class="language-js"><span class="pln"> console</span><span class="pun">.</span><span class="pln">log</span><span class="pun">(</span><span class="pln">req</span><span class="pun">.</span><span class="pln">body</span><span class="pun">.</span><span class="pln">lastname</span><span class="pun">);</span></code></p></li><li><p><code class="language-js"><span class="pun">})</span></code></p></li><li><p><code class="language-js"></code></p></li><li><p><code class="language-js"><span class="pln">app</span><span class="pun">.</span><span class="pln">listen</span><span class="pun">(</span><span class="pln">port</span><span class="pun">);</span></code></p></li></ol></pre><p><br/></p><p>index.ejs<br/></p><pre class="prettyprint linenums prettyprinted" style=""><ol class="linenums list-paddingleft-2"><li><p><code class="language-js"><span class="pun">&lt;</span><span class="pln">html</span><span class="pun">&gt;</span></code></p></li><li><p><code class="language-js"><span class="pln"></span><span class="pun">&lt;</span><span class="pln">head</span><span class="pun">&gt;</span></code></p></li><li><p><code class="language-js"><span class="pln"></span><span class="pun">&lt;</span><span class="pln">link href </span><span class="pun">=</span><span class="str">&#39;/assets/styl.css&#39;</span><span class="pln"> type </span><span class="pun">=</span><span class="pln"> </span><span class="str">&quot;text/css&quot;</span><span class="pln"> ref</span><span class="pun">=</span><span class="pln"> </span><span class="str">&quot;stylesheeet&quot;</span><span class="pln"> </span><span class="pun">/&gt;</span></code></p></li><li><p><code class="language-js"><span class="pln"> &nbsp; &nbsp;</span><span class="pun">&lt;</span><span class="pln">script src </span><span class="pun">=</span><span class="pln"> </span><span class="str">&quot;http://ajax.aspnetcdn.com/ajax/jQuery/jquery-2.1.4.min.js&quot;</span><span class="pun">&gt;&lt;/</span><span class="pln">script</span><span class="pun">&gt;</span></code></p></li><li><p><code class="language-js"><span class="pln"></span><span class="pun">&lt;/</span><span class="pln">head</span><span class="pun">&gt;</span></code></p></li><li><p><code class="language-js"><span class="pln"></span><span class="pun">&lt;</span><span class="pln">body</span><span class="pun">&gt;</span></code></p></li><li><p><code class="language-js"><span class="pln"></span><span class="pun">&lt;</span><span class="pln">h1</span><span class="pun">&gt;</span><span class="typ">Hello</span><span class="pln"> </span><span class="typ">World</span><span class="pun">!&lt;/</span><span class="pln">h1</span><span class="pun">&gt;</span></code></p></li><li><p><code class="language-js"><span class="pln"></span><span class="pun">&lt;</span><span class="pln">form method </span><span class="pun">=</span><span class="str">&#39;POST&#39;</span><span class="pln"> action</span><span class="pun">=</span><span class="str">&quot;/person&quot;</span><span class="pun">&gt;</span><span class="pln"> </span></code></p></li><li><p><code class="language-js"><span class="pln"> </span><span class="typ">First</span><span class="pln"> name</span><span class="pun">:</span><span class="pln"> </span><span class="pun">&lt;</span><span class="pln">input type </span><span class="pun">=</span><span class="str">&quot;text&quot;</span><span class="pln"> id </span><span class="pun">=</span><span class="str">&quot;firstname&quot;</span><span class="pln"> name </span><span class="pun">=</span><span class="str">&quot;firstname&quot;</span><span class="pun">/&gt;&lt;</span><span class="pln">br</span><span class="pun">&gt;</span></code></p></li><li><p><code class="language-js"><span class="pln"></span><span class="typ">Last</span><span class="pln"> &nbsp;name</span><span class="pun">:</span><span class="pln"> </span><span class="pun">&lt;</span><span class="pln">input type </span><span class="pun">=</span><span class="str">&quot;text&quot;</span><span class="pln"> id</span><span class="pun">=</span><span class="pln"> </span><span class="str">&quot;lastname&quot;</span><span class="pln"> name</span><span class="pun">=</span><span class="pln"> </span><span class="str">&quot;lastname&quot;</span><span class="pun">/&gt;&lt;</span><span class="pln">br</span><span class="pun">&gt;</span></code></p></li><li><p><code class="language-js"><span class="pln"></span><span class="pun">&lt;</span><span class="pln">input type </span><span class="pun">=</span><span class="str">&quot;submit&quot;</span><span class="pln"> value </span><span class="pun">=</span><span class="str">&quot;submit&quot;</span><span class="pun">/&gt;</span></code></p></li><li><p><code class="language-js"><span class="pln"> </span><span class="pun">&lt;/</span><span class="pln">form</span><span class="pun">&gt;</span></code></p></li><li><p><code class="language-js"><span class="pln"> </span><span class="pun">&lt;</span><span class="pln">script</span><span class="pun">&gt;</span></code></p></li><li><p><code class="language-js"><span class="pln"> $</span><span class="pun">.</span><span class="pln">ajax</span><span class="pun">({</span></code></p></li><li><p><code class="language-js"><span class="pln"> type</span><span class="pun">:</span><span class="pln"> </span><span class="str">&quot;POST&quot;</span><span class="pun">,</span></code></p></li><li><p><code class="language-js"><span class="pln"> url</span><span class="pun">:</span><span class="pln"> </span><span class="str">&quot;/personjson&quot;</span><span class="pun">,</span></code></p></li><li><p><code class="language-js"><span class="pln"> data</span><span class="pun">:</span><span class="pln"> JSON</span><span class="pun">.</span><span class="pln">stringify</span><span class="pun">({</span><span class="pln">firstname</span><span class="pun">:</span><span class="pln"> </span><span class="str">&quot;John&quot;</span><span class="pun">,</span><span class="pln">lastname</span><span class="pun">:</span><span class="str">&quot;Doe&quot;</span><span class="pun">}),</span></code></p></li><li><p><code class="language-js"><span class="pln"> dataType</span><span class="pun">:</span><span class="pln"> </span><span class="str">&#39;json&#39;</span><span class="pun">,</span></code></p></li><li><p><code class="language-js"><span class="pln"> contentType</span><span class="pun">:</span><span class="pln"> </span><span class="str">&#39;application/json&#39;</span></code></p></li><li><p><code class="language-js"><span class="pln"> </span><span class="pun">})</span></code></p></li><li><p><code class="language-js"><span class="pln"> </span><span class="pun">&lt;/</span><span class="pln">script</span><span class="pun">&gt;</span></code></p></li><li><p><code class="language-js"><span class="pln"></span><span class="pun">&lt;/</span><span class="pln">body</span><span class="pun">&gt;</span></code></p></li><li><p><code class="language-js"><span class="pun">&lt;/</span><span class="pln">html</span><span class="pun">&gt;</span></code></p></li></ol></pre><p><br/></p><p>mongoose<br/></p><p><br/></p><p><br/></p><p><br/></p><p><br/></p><p><br/></p><p><br/></p></body></html>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值