`
starbhhc
  • 浏览: 632927 次
  • 性别: Icon_minigender_2
  • 来自: 深圳
社区版块
存档分类
最新评论

2.nodejs 使用Express4.x搭建第一个Web应用

 
阅读更多

Express4.x

是一个开源的node.js项目框架,初学者使用express可以快速的搭建一个Web项目,express中已经集成了Web的http服务器创建、请求和文件管理以及Session的处理等功能,所以express是非常适合初学者的入门学习。

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

 

 npm安装的时候区分本地模式安装和全局模式安装,“-g”就表示全局模式安装,这种模式会被安装在node安装目录的lib所在目录的node_modules文件夹中,全局使用。

 

npm安装express , -g 指令让express进入全局安装:

 npm install -g express

如果是express 4.0之前版本,那么执行“express -V”就可以得到版本号了,可express 4.0之后还需要再安装express-generator包,如果没有安装还执行“express -V”命令会报错。

npm install -g express-generator

现在执行“express -V”可查看express版本信息了。

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

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

 

cd C:\Users\Administrator  # 进入工作目录
 C:\Users\Administrator>express -e nodejs-demo  # 创建项目

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

C:\Users\Administrator>cd nodejs-demo && npm install

启动项目。

 C:\Users\Administrator\nodejs-demo>npm start
> express4-demo@0.0.0 start D:\workspace\javascript\nodejs-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:\workspace\javascript\nodejs-demo\app.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:\workspace\javascript\nodejs-demo>npm start
> express4-demo@0.0.0 start D:\workspace\javascript\nodejs-demo
> node ./bin/www

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

启动方式为:1. npm start  2.debug (DEBUG=nodejs-demo ./bin/www)

Express4中引入了著名的debug模块,所以debug模式让我们更方便的玩转Node中的模块,其使用方法介绍起来较长,建议大家看看其官方的介绍:https://www.npmjs.org/package/debug

 

 

 默认PORT其实3000,俺手动修改后使用的是8898端口, 修改文件在./bin/www中。

第5行,app.set('post',process.env.PORT || 8988);

 

 

文件目录解析

  • app.js,程序启动文件
  • bin,创建项目时已经提到,是真实的执行程序
  • node_modules, 存放所有的项目依赖库
  • package.json,项目依赖配置及开发者信息
  • public,静态文件(css,js,img) 
  • routes,路由文件
  • views,页面文件

 

在Nodejs项目中,package.json文件用来声明项目基本信息和使用的模块,这样在新的环境部署时,只要在package.json文件所在的目录执行npm install命令即可按照所需要的模块啦。

 

 package.json的解释:

  • name
    ~ 在package.json中最重要的就是name和version字段。他们都是必须的,如果没有就无法install;
    ~ 想好名字之前先去npm registry查看一下这个名字是否已经被使用了,http://registry.npmjs.org/
  • version
    ~ version必须能被 node-semver解析,它被包在npm的依赖中;
    ~ name和version一起组成的标识在假设中是唯一的。改变包应该同时改变version
  • private
    ~ 如果你设置"private": true,npm就不会发布它;
    ~ 这是一个防止意外发布私有库的方式。如果你要确定给定的包是只发布在特定registry(如内部registry)的,用publishConfighash的描述来重写registry的publish-time配置参数
  • scripts
    ~ “scripts”是一个由脚本命令组成的hash对象,他们在包不同的生命周期中被执行。key是生命周期事件,value是要运行的命令。
  • dependencies
    ~ 依赖是给一组包名指定版本范围的一个hash。这个版本范围是一个由一个或多个空格分隔的字符串。依赖还可以用tarball或者git URL

  以上五项仅仅是Express4 package.json使用的,其他细节可参考文档 https://www.npmjs.org/doc/files/package.json.html

 

 

 

 

 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics