zoukankan      html  css  js  c++  java
  • Node.js开发框架Express4.x

    从零开始nodejs系列文章,将介绍如何利Javascript做为服务端脚本,通过Nodejs框架web开发。Nodejs框架是基于V8的引擎,是目前速度最快的Javascript引擎。chrome浏览器就基于V8,同时打开20-30个网页都很流畅。Nodejs标准的web开发框架Express,可以帮助我们迅速建立web站点,比起PHP的开发效率更高,而且学习曲线更低。非常适合小型网站,个性化网站,我们自己的Geek网站!!

    关于作者

    • 张丹(Conan), 创业者,程序员(Java,R,Javascript)
    • weibo:@Conan_Z
    • blog: http://blog.fens.me
    • email: bsspirit@gmail.com

    转载请注明出处:
    http://blog.fens.me/nodejs-express4/

    express4

    前言

    Nodejs是一个年轻的编程框架,充满了活力和无限激情,一直都在保持着快速更新。基于Nodejs的官方Web开发库Express也在同步发展着,每年升级一个大版本,甚至对框架底层都做了大手术。在Express4时,替换掉中件间库connect,而改用多个更细粒度的库来取代。带来的好处是明显地,这些中间件能更自由的更新和发布,不会受到Express发布周期的影响;但问题也是很的棘手,不兼容于之前的版本,升级就意味着要修改代码。

    之前写过一篇文章“Nodejs开发框架Express3.0开发手记–从零开始”,很多新学Node的朋友都在参考,但由于Express已经升级,文章中有部分的代码已经不能使用,所以就有了这篇介绍Express4.x的文章。

    目录

    1. 建立工程
    2. 目录结构
    3. package.json项目配置
    4. app.js核心文件
    5. Bootstrap界面框架
    6. 路由功能
    7. 程序代码
    8. Express3.x和Express4.x的改动列表

    1. 建立项目

    让我们从头开始Express4.x的安装和使用吧,安装Node和NPM在本文就不多说了。Linux环境安装请参考文章,准备Nodejs开发环境Ubuntu,Window环境安装直接下载Node的安装文件,双击安装就行了。

    我的系统环境

    • Win7 64bit
    • Nodejs:v0.10.31
    • Npm:1.4.23

    首先,我们需要安装express库。在Express3.6.x之前的版本,Express需要全局安装的,项目构建器模块是合并在Express项目中的,后来这个构建器被拆分出来,独立成为了一个项目express-generator,现在我们只需要全局安装express-generator项目就行了。

    
    ~ npm install -g express-generator@4  #全局安装-g
    C:UsersAdministratorAppDataRoaming
    pmexpress -> C:UsersAdministratorAppDataRoaming
    pm
    ode_modulesexpress-ge
    neratorinexpress
    
    express-generator@4.11.2 C:UsersAdministratorAppDataRoaming
    pm
    ode_modulesexpress-generator
    ├── sorted-object@1.0.0
    ├── commander@2.6.0
    └── mkdirp@0.5.0 (minimist@0.0.8)
    

    安装好express-generator包后,我们在命令行就可以使用express命令了。

    
    ~ express -V # 检查express的版本
    4.11.2
    
    ~ express -h  # 检查看express的帮助命令
      Usage: express [options] [dir]
      Options:
        -h, --help          output usage information
        -V, --version       output the version number
        -e, --ejs           add ejs engine support (defaults to jade)
            --hbs           add handlebars engine support
        -H, --hogan         add hogan.js engine support
        -c, --css   add stylesheet  support (less|stylus|compass) (defaults to plain css)
            --git           add .gitignore
        -f, --force         force on non-empty directory
    

    接下来,我们使用express的命令,来创建项目了。

    
    ~ cd D:workspacejavascript  # 进入工作目录
    
    ~ D:workspacejavascript>express -e nodejs-demo  # 创建项目
       create : nodejs-demo
       create : nodejs-demo/package.json
       create : nodejs-demo/app.js
       create : nodejs-demo/public/javascripts
       create : nodejs-demo/public/images
       create : nodejs-demo/public
       create : nodejs-demo/public/stylesheets
       create : nodejs-demo/public/stylesheets/style.css
       create : nodejs-demo/views
       create : nodejs-demo/views/index.ejs
       create : nodejs-demo/views/error.ejs
       create : nodejs-demo/routes
       create : nodejs-demo/routes/index.js
       create : nodejs-demo/routes/users.js
       create : nodejs-demo/bin
       create : nodejs-demo/bin/www
    
       install dependencies:
         $ cd nodejs-demo && npm install
       run the app:
         $ DEBUG=nodejs-demo:* ./bin/www
    

    进入项目目录,下载依赖库,构建项目。

    
    ~ D:workspacejavascript>cd nodejs-demo && npm install
    

    启动项目。

    
    ~ D:workspacejavascript
    odejs-demo>npm start
    
    > express4-demo@0.0.0 start D:workspacejavascript
    odejs-demo
    > node ./bin/www
    
    module.js:338
        throw err;
              ^
    Error: Cannot find module './routes/users'
        at Function.Module._resolveFilename (module.js:336:15)
        at Function.Module._load (module.js:278:25)
        at Module.require (module.js:365:17)
        at require (module.js:384:17)
        at Object. (D:workspacejavascript
    odejs-demoapp.js:9:13)
        at Module._compile (module.js:460:26)
        at Object.Module._extensions..js (module.js:478:10)
        at Module.load (module.js:355:32)
        at Function.Module._load (module.js:310:12)
        at Module.require (module.js:365:17)
    

    第一次启动发生了错误,可能是express-generator和express不匹配造成的,找到问题在app.js文件中,注释第9行和第26行。

    
    ..
    //var users = require('./routes/users');
    ..
    //app.use('/users', users);       
    ..
    

    再次启动项目。

    
    D:workspacejavascript
    odejs-demo>npm start
    > express4-demo@0.0.0 start D:workspacejavascript
    odejs-demo
    > node ./bin/www
    

    项目启动成功,打开浏览器 http://localhost:3000,就可以看到显示的页面了。
    express_1

    这样非常简单地,我们就把一个最基本的Web应用做好了,就是几条命令而已。

  • 相关阅读:
    [紫书] 八数码问题(BFS)
    [紫书] 移动盒子(Boxes in a Line)
    [洛谷] P1803 凌乱的yyy / 线段覆盖 (贪心)
    [紫书] 破损的键盘(Broken Keyboard)
    bzoj3891
    poj3233
    bzoj1941
    Vijos2034
    poj2985
    Vijos1100
  • 原文地址:https://www.cnblogs.com/imteach/p/4955740.html
Copyright © 2011-2022 走看看