当前位置: 首页>NodeJS>【NodeJS 学习笔记03】先运行起来再说

【NodeJS 学习笔记03】先运行起来再说

时间:2015-06-18 17:09 来源:网络整理 作者:KKWL 点击:
前言 最近同事推荐了一个不错的网址:https://github.com/nswbmw/N-blog/wiki/_pages 里面的教程很是详细,我们现在跟着他的节奏学习下NodeJS,一个简单的博客 我们这次来个过年七天乐......看看

前言

最近同事推荐了一个不错的网址:https://github.com/nswbmw/N-blog/wiki/_pages

里面的教程很是详细,我们现在跟着他的节奏学习下NodeJS,一个简单的博客

我们这次来个过年七天乐......看看能不能nodeJS来个入门

让nodeJS跑起来

第一步当然是安装nodeJS环境了,现在windows安装nodeJS比较快了,直接下载即可:

这里根据需要下载,下载完成后直接下一步下一步即可,完了我们就具有nodeJS环境了

第二步,为了方便我们后面操作,我们直接在D盘见了一个文件夹blog

然后打开windows命令行工具,进入d盘,输入:

express -e blog

然后里面可能有依赖包,我们需要进入blog目录安装(安装的配置由package.json提供):

npm install

这个样子,我们依赖包就下载下来了,其中依赖包与java的包文件,.net的bll文件应该是一个概念

这个时候,我们的程序已经可以运行了:

node app

D:\blog>node app Express server listening on port 3000

这个时候打开浏览器就有反应了:

这里我们使用的是express(一个流行的nodeJSweb开发框架),并且使用了ejs模板引擎

文件结构

初始化文件目录结构如下:

app.js 为入口文件

package.json 为模块依赖文件,我们使用npm install时候他会以其配置在网上下载相关包

node_modules 为下载下来的模块文件(package.json)

public 存放静态资源文件

routes 存放路由文件

views 存放相关视图模板文件

这个样子,我们基本目录结构就出来了,我们这里先简单说下node_modules这个目录

node_modules/ejs

我们刚刚说了,这里面存放着下载下来的模块,说白了就是js文件集合

1 var parse = exports.parse = function(str, options){ 2 var options = options || {} 3 , open = options.open || exports.open || '<%' 4 , close = options.close || exports.close || '%>' 5 , filename = options.filename 6 , compileDebug = options.compileDebug !== false 7 , buf = ""; 8 9 buf += 'var buf = [];'; 10 if (false !== options._with) buf += '\nwith (locals || {}) { (function(){ '; 11 buf += '\n buf.push(\''; lineno = 1; consumeEOL = false; 16 for (var i = 0, len = str.length; i < len; ++i) { 17 var stri = str[i]; 18 if (str.slice(i, open.length + i) == open) { 19 i += open.length prefix, postfix, line = (compileDebug ? '__stack.lineno=' : '') + lineno; 22 switch (str[i]) { 23 case '=': 24 prefix = "', escape((" + line + ', '; 25 postfix = ")), '"; 26 ++i; 27 break; 28 case '-': 29 prefix = "', (" + line + ', '; 30 postfix = "), '"; 31 ++i; 32 break; 33 default: 34 prefix = "');" + line + ';'; 35 postfix = "; buf.push('"; 36 } end = str.indexOf(close, i) 39 , js = str.substring(i, end) 40 , start = i 41 , include = null 42 , n = 0; ('-' == js[js.length-1]){ 45 js = js.substring(0, js.length - 2); 46 consumeEOL = true; 47 } (0 == js.trim().indexOf('include')) { 50 var name = js.trim().slice(7).trim(); Error('filename option is required for includes'); 52 var path = resolveInclude(name, filename); 53 include = read(path, 'utf8'); 54 include = exports.parse(include, { filename: path, _with: false, open: open, close: close, compileDebug: compileDebug }); 55 buf += "' + (function(){" + include + "})() + '"; 56 js = ''; 57 } (~(n = js.indexOf("\n", n))) n++, lineno++; 60 if (js.substr(0, 1) == ':') js = filtered(js); 61 if (js) { 62 if (js.lastIndexOf('//') > js.lastIndexOf('\n')) js += '\n'; 63 buf += prefix; 64 buf += js; 65 buf += postfix; 66 } 67 i += end - start + close.length - 1; (stri == "\\") { 70 buf += "\\\\"; 71 } else if (stri == "'") { 72 buf += "\\'"; 73 } else if (stri == "\r") { } else if (stri == "\n") { 76 if (consumeEOL) { 77 consumeEOL = false; 78 } else { 79 buf += "\\n"; 80 lineno++; 81 } 82 } else { 83 buf += stri; 84 } 85 } (false !== options._with) buf += "'); })();\n} \nreturn buf.join('');"; 88 else buf += "');\nreturn buf.join('');"; 89 return buf; 90 };

View Code

就如,我们这里使用到的ejs模板以及express模块,然后我们好奇的走进了ejs的程序看看究竟有何不同

顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------