一、全局安装expresscss
npm install express -gnode
可是,在express4.x版本中已经不含有express命令了。web
须要安装 express-generatorexpress
npm install express-generator -gnpm
二、建立express项目json
express -e node-demoapp
建立的项目的目录结构模块化
node_modules, 存放全部的项目依赖库。(每一个项目管理本身的依赖,与Maven,Gradle等不一样)
package.json,项目依赖配置及开发者信息
app.js,程序主入口
public,静态文件(css,js,img)
routes,路由文件(MVC中的C,controller)
views,页面文件(Ejs模板)
bin/www (启动文件,用于启动app.js)函数
三、进入项目中,安装依赖包post
npm install
四、启动web
安装nodemon
npm install nodemon -g
五、修改app.js:
把最有一行//module.exports = app;注释掉
换成:app.listen(3000);
六、执行
nodemon app.js
而后修改程序,看命令串口有没有动态加载修改的提示,有的话,就表示生效。
七、测试
本地的3000窗口被打开,而后访问:localhost:3000
八、将咱们所须要的css,js等文件放在public里面,可是在引用的时候要注意把引用的路径不能使用相对路径,要使用绝对路径,由于使用相对路径的话,会找不到文件,具体引用以下
九、能够将页面模块化话
好比:将一个页面分为头部、内容显示区域、底部
引用的时候使用include,以下:
十、路由功能
路由功能,是Express4之后全面改版的功能,在应用程序加载隐含路由的中间件的时候,不用担忧担忧在中间件被装载相对于路由器中间件的顺序,定义路由的方式是不变的,路由系统中增长2个新的功能:
(1)app.router()函数,建立可连接的途径处理程序的路由路径
app.route方法会返回一个Route实例,它能够继续使用全部的HTTP方法,包括get,post,all,put,delete,head等。
(2)express.Router类,建立模块化安装路径的处理程序
express.Router类,则能够帮助咱们更好的组织代码结构。在app.js文件中,定义了app.use(‘/’, routes); routes是指向了routes目录下的index.js文件,./routes/index.js文件中,express.Router被定义使用,路径/*处理都会由routes/index.js文件里的Router来处理。若是咱们要管理不一样的路径,那么能够直接配置为多个不一样的Router。
十一、express托管静态资源
经过使用express.static来托管静态文件,好比css、js、图片等
使用:
或者
这样设置的换,存放静态资源文件的目录名就不会出如今url上,若是静态资源存放在多个目录的话,就能够屡次调用
访问的路径参考:
若是想在url上加一个虚拟的目录:
访问的路径参考:
十二、app.locals
这是一个对象。
1三、上传文件
上传文件的时候一直上传不成功,找了好久的缘由都找不到问题,后来换成使用muler上传:
在express 4.x的版本,使用formidable模块实现文件上传至指定目录,要使用body-parser + multer,
因此须要multer模块 使用方法是var multer = require(‘multer’);app.use(multer({dest: "./public/avatar"}))就能够了