本文主要内容有五点:
1. 安装;
2. Hello World;
3. 使用express-generator快速构建应用
4. 路由
5. 静态文件托管
相关文章:
Express框架初探
Express框架进阶-1---路由
1.安装
1-1. 安装nodejs
在nodejs官网选择自己需要的安装包后,安装即可。
可以在命令行中查看nodejs和npm的版本——node -v ; npm -v;
tips:如果想怕npm的模块在默认目录下,占用C盘大小越来越大,想更改npm的模块目录,查看:npm config get prefix ; npm config get cache,修改:npm config set prefix "D:\xxx\xxx\xx"; npm config set cache "D:\xxx\xxx\xx", 还需要修改环境变量
[1]
1-2. 创建项目目录,初始化package.json文件
npm init (一路回车即可)
1-3. 安装express
tyarn add express --save (使用npm的话是 npm install express --save)
2.Hello World
创建文件app.js,保存以下代码,再在命令行中运行 node app.js,一个简单的监听3000端口的后台就跑起来了。在浏览器中输入http://127.0.0.1:3000/,能看到显示Hello World
const express = require('express')
const app = express();
app.get('/', (req, res)=> {res.send('Hello World')})
app.listen(3000, ()=>{console.log('Example app listening on port 3000!')})
- 使用express-generator快速构建应用
3-1. 全局安装express-generator
npm install express-generator -g
3-2. 使用命令创建应用
例如,如下命令创建了一个名称为 myapp 的 Express 应用。此应用将在当前目录下的 myapp 目录中创建,并且设置为使用 Pug 模板引擎(view engine),添加对样式表引擎sass的支持:
express --view=pug --css=sass myapp
$ express -h
Usage: express [options] [dir]
Options:
-h, --help 输出使用方法
--version 输出版本号
-e, --ejs 添加对 ejs 模板引擎的支持
--hbs 添加对 handlebars 模板引擎的支持
--pug 添加对 pug 模板引擎的支持
-H, --hogan 添加对 hogan.js 模板引擎的支持
--no-view 创建不带视图引擎的项目
-v, --view <engine> 添加对视图引擎(view) <engine> 的支持 (ejs|hbs|hjs|jade|pug|twig|vash) (默认是 jade 模板引擎)
-c, --css <engine> 添加样式表引擎 <engine> 的支持 (less|stylus|compass|sass) (默认是普通的 css 文件)
--git 添加 .gitignore
-f, --force 强制在非空目录下创建
3-3. 启动应用
进入myapp文件夹,执行npm install
在 MacOS 或 Linux 中,通过如下命令启动此应用:
DEBUG=myapp:* npm start
在 Windows 中,通过如下命令启动此应用(设置可以查看myapp中使用的内部日志):
set DEBUG=myapp:*
npm start
也可以不使用express-generator,只要能满足项目开发需求即可。
- 路由
var express = require('express');
var app = express();
app.get('/', function(req, res) {res.send('Hello World')});
app.listen(3000);
2中的HelloWorld的例子,中的路由可以改写成如下:
var express = require('express');
var app = express();
var indexRouter = require('./routes/index');
app.use('/', indexRouter);
app.listen(3000);
./routes/index.js文件内容如下
var express = require('express');
var router = express.Router();
router.get('/',function(req, res, next){
res.send('Hello World');
});
module.exports = router;
- 静态文件托管
5-1. public目录下的资源可被访问(注意开放的目录是相对于server跑起来的文件地址,该开发目录不包含在路径内。例:http://127.0.0.1:3000/images/test.png
)
app.use(express.static('public'));
可以使用绝对路径
var path = require('path');
app.use(express.static(path.join(__dirname,'public')));
若要自定义路径
app.use('/static', express.static(path.join(__dirname,'public')));
tips:会按照目录添加顺序查找文件,如有文件public/static/test1.png和public/test1.png,有路由 /static 和 / 都指向public, 则127.0.0.1:3000/static/test1.png找到的是public/test1.png 而不是public/static/test1.png
相关文章:
Express框架初探
Express框架进阶-1---路由
参考文章:
网友评论