Node系列——express项目搭建

一、项目环境搭建

1.一、 安装node这个很少说了。

1.二、安装express,全局安装-g

npm install -g express

1.三、安装express-generator,全局安装-g

    express4.0以后把建立一个APP的功能分离出来为express-generator,没它你建立不了应用程序,须要全局安装-gjavascript

npm install -g express-generator

1.四、建立express项目

    在想要建立的项目目录下打开cmd窗口,这样就会建立以下目录文件结构,项目就算建立完毕了。php

    这个时候package.json文件中哟express,可是有没有express-generator.html

    若是不是全局安装的上面两个模块就只能手动找到模块底下的bin文件中执行。
java

express JadeWebApp  //默认是jade引擎

express -e EjsWebApp //要建立ejs引擎用下面的命令



二、项目介绍

2.一、项目结构介绍

    1.node_modules文件夹node

   这文件夹就是在建立完项目后,cd到项目目录执行npm install后生成的文件夹,下载了项目须要的依赖项web

    2.package.json文件express

        此文件是项目的配置文件(可定义应用程序名,版本,依赖项等等)npm

        node_modules文件夹下的依赖项是从哪里知道的呢?缘由就是项目根目录下的这个package.json文件,执行npm install时会去找此文件中的dependencies,并安装指定的依赖项编程

    3.public文件夹(包含images、javascripts、stylesheets)json

        这个文件夹作过Web开发的应该一看就知道,为了存放图片、脚本、样式等文件的

    4.routes文件夹

        用于存放路由文件

    5.views文件夹

        存放视图

2.二、项目内容介绍

1.app.set(name,value)

       把名字为name的项的值设为value,用于设置参数

//设定端口
app.set('port', process.env.PORT || 3000);
//设定视图路径主要清楚__dirname的意思就能够了,它是node.js中的全局变量,表示取当前执行文件的路径     
app.set('views', path.join(__dirname, 'views'));   
//设定视图引擎模板,还能够设定其余模板,后续介绍
app.set('view engine', 'jade');

2.app.use([path], function)

     用这个方法来使用中间件,由于express依赖于connect,有大量的中间件,能够经过app.use来使用;path参数能够不填,默认为'/' 

//这一句中可能要注意一下,express.static()是处理静态请求的,
//设置了public文件,public下全部文件都会以静态资料文件形式返回
//(如样式、脚本、图片素材等文件)
app.use(express.static(path.join(__dirname, 'public'))); 


//上面代码表示当用户使用/访问时,调用routes,即routes目录下的index.js文件,
//其中.js后缀省略,用/users访问时,调用routes目录下users.js文件
var routes = require('./routes/index');
var users = require('./routes/users');
app.use('/', routes);
app.use('/users', users);

  

3.app.get(name)

    获取名为name的项的值

    if(app.get('env') === 'development') {  
      app.use(function(err, req, res, next) { 
          res.status(err.status|| 500);       
           res.render('error', {           
            message: err.message,  
              error: err        
            });   
        });
    }
    //表示若是是开发环境,处理error时会输出堆栈信息

4.路由文件index.js

    主要看下面这段代码

    router.get('/', function(req, res) {  res.render('index', { title: '<h1>Express</h1>',users:[{username: 'Wilson'},                                {username: 'Wilson Zhong'},                                {username: 'Zhong Wei'}]             });});

这段表示,router.get表示经过get请求/时,响应后面的function处理,两个参数分别是request、response;

res.render表示调用模版引擎解析名字index的模板,传并传入了title和users两个对象作为参数;

为何它会知道解板views目录下的index.ejs?而不是其它目录下的文件,或者后其它后缀名的文件?

三、node中经常使用模块介绍



四、node项目调试介绍

调试nodejs目前知道的有三种方式:

a.下载VS2012的nodejs插件,用VS2012调试

b.用webForm   在app.js页面右键选择debug,这个我以为最好用。

c.下载node-inspector模块。

    我亲测过a和c,vs我就不说了,必须强大,缺点就是感受就点大材小用了,写个nodejs而已,大动干戈启动VS有点太卡了。因此我用的c方式,固然 了,提早还须要一个文本编辑器,nodejs的文本编辑利器当属Sublime Text了,很爽的,完爆nodepad++和ue,并且它也能够编辑其余语言。

利用node-inspector调试方式以下:

.首先全局安装

npm install node-inspector -g

②.用node --debug-brk  app.js启动项目
③.而后新打开一个窗口,启动 node-inspector
出现以下:
Node Inspector v0.5.0  info  - socket.io started
Visit http://127.0.0.1:8080/debug?port=5858 to start debugging.

浏览器中调试输入   : http://127.0.0.1:8080/debug?port=5858

④.不出意外将会在浏览器看到源代码的调试界面,ps:最好用谷歌浏览器,不解释。


d. 最后再推荐一个模块supervisor,最好全局安装npm install -g supervisor,这样启动程序时(如app.js)能够 supervisor app启动,这样它会监视你的代码,一旦代码修改了就会自动重启服务,没必要手动,调试很方便


http://blog.csdn.net/kkkkkxiaofei/article/details/32935199

Ejs引擎中的三种标签

1.<%= %>

这个标签在接到收到title: '<h1>Express</h1>'时,从显示效果来看,他直接输出HTML标签到页面上,输出的是转义后的变量值

2.<%- %>   

而这个标签,从显示效果上看,他没有直接输出HTML代码到页面上,输出的是没有转义后的变量值

3.<% %>

而这个标签,从显示上看,他循环了出来参数中的值,标签中是javascript逻辑代码,注意括号的开闭合





node中的中间件

所谓的中间件就是相似于过滤器,面向切面编程,在执行一些东西以前要先执行这些东西。

http://www.yuansir-web.com/2013/06/25/%E7%90%86%E8%A7%A3node-js%E4%B8%AD%E9%97%B4%E4%BB%B6%E4%BB%A5%E5%8F%8Aconnect-%E6%A8%A1%E5%9D%97/

node中的缓存策略

http://www.infoq.com/cn/articles/nodejs-8-connect-module-part-2/


免责说明

一、本博客中的文章摘自网上的众多博客,仅做为本身知识的补充和整理,并分享给其余须要的coder,不会用于商用

二、由于不少博客的地址已经记不清楚了,因此不会在这里标明出处


OK,这样就算入门了吧,基础的东西推荐你们去汇智网上去学习。

相关文章
相关标签/搜索