express
expressexpress生成器的安装,访问express的中文网 ,其中有介绍express的安装和入门,现在来安装他吧
对于express而言,其是由nodejs封装api而成,所以需要先装上nodejs,此步省略,打开终端。最好是以管理员身份运行,到达nodejs的安装根目录,对express的安装器进行安装。在cmd窗口输入如下指令
1 npm install -g express-generator
再输入
根据提示进行安装,进入项目,安装相关依赖
即可生成一个express应用,进入项目可以看到项目的基本结构,找到package.json
找到运行脚本
然后就可以在本地3000端口访问express服务了
1.更改端口在app.js中,可以修改端口,只需要在导出前加上代码即可
app.js所有代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 var createError = require('http-errors'); var express = require('express'); var path = require('path'); var cookieParser = require('cookie-parser'); var logger = require('morgan'); var indexRouter = require('./routes/index'); var usersRouter = require('./routes/users'); var app = express(); app.set('views', path.join(__dirname, 'views')); app.set('view engine', 'jade'); app.use(logger('dev')); app.use(express.json()); app.use(express.urlencoded({ extended: false } )); app.use(cookieParser()); app.use(express.static(path.join(__dirname, 'public'))); app.use('/', indexRouter); app.use('/users', usersRouter); app.use(function(req, res, next) { next(createError(404 )); } );app.use(function(err, req, res, next) { res.locals.message = err.message; res.locals.error = req.app.get('env') === 'development' ? err : { } ; res.status(err.status || 500 ); res.render('error'); } );process.env.PORT = 80 ; module.exports = app;
2.检测代码更改自动重新启动项目安装nodemon
找到启动脚本,在启动脚本前加nodemon --exec
1 2 3 "scripts" : { "start" : "nodemon --exec node ./bin/www" } ,
3.简化app流程 在app.js
中可以不需要这么多配置项,可以简化配置相关代码,只留下有用的部分,将其中代码替换为
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 const express = require ('express' );const cors = require ('cors' );const app = express ();app.use (cors ()); app.use (express.json ()); app.use (express.urlencoded ({ extended : true })); app.use ('/api/test' , require ('./routes/test' )); const PORT = process.env .PORT || 3000 ;app.listen (PORT , () => { console .log (`Server is running on port ${PORT} ` ); });
创建一个路由文件夹routes
,在其中新建一个test.js
文件这是路由的入口,可以调用controler进行请求,在test.js中写入
1 2 3 4 5 const express = require ('express' );const router = express.Router ();const testController = require ('../controllers/testController' );router.get ('/' , testController.getAllStudents ); module .exports = router;
创建 一个controllers
文件夹,正在其中创建一个testController
在其中写入
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 exports .getAllStudents = async (req, res) => { try { res.json ({ message : 'This is a test message' , data : [ { id : 1 , name : 'John' }, { id : 2 , name : 'Mary' }, { id : 3 , name : 'Tom' } ] }) } catch (error) { res.status (500 ).json ({ message : error.message }); } };
启动项目,访问localhost:3000/api/test
就可以看到返回的json
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 { "message" : "This is a test message" , "data" : [ { "id" : 1 , "name" : "John" } , { "id" : 2 , "name" : "Mary" } , { "id" : 3 , "name" : "Tom" } ] }
现在可以进行相关的开发