搭建项目结构
1. 搭建web服务器
1. 建立app.js文件导入http模块,通过createServer()方法创建服务对象,并创建server.on监听用户 request请求,并指定监听端口号,这样一个服务器就开启了。
2. 并在监听事件的回调里面处理接收到的url,通过分割获取路由地址和请求方法和请求参数。
const http = require('http');
const queryString = require('querystring');
// 2.通过http模块创建服务对象
const server = http.createServer();
// 3.通过服务对象监听用户请求
server.on('request', (req, res)=>{
console.log('接收到请求');
// 1.获取请求类型
let method = req.method.toLowerCase();
// 2.获取请求路径
let url = req.url;
let path = url.split('?')[0];
// 3.获取请求参数
let params = '';
if(method === 'get'){
// 4.处理请求参数
params = url.split('?')[1];
params = queryString.parse(params);
// 5.处理路由
if(path === '/login'){
console.log('处理登录请求', params);
}else if(path === '/register'){
console.log('处理注册请求', params);
}
}else if(method === 'post'){
// 4.处理请求参数
req.on('data', (chuck)=>{
params += chuck;
});
req.on('end', ()=>{
params = queryString.parse(params);
// 5.处理路由
if(path === '/login'){
console.log('post处理登录请求', params);
}else if(path === '/register'){
console.log('post处理注册请求', params);
}
});
}
});
// 4.指定监听的端口号
server.listen(3000);
2.搭建项目结构
- 在项目中npm init -y 初始化package.json 文件,指定node项目。然后 在app.js中创建initParams()方法处理请求方式,参数,路径,并返回。创建serverHandle()中将处理不同路由的不同处理方式。
- 所以在根目录下创建router目录,创建user.js用来保存处理用户的各种路由。并导入到app.js中,在serverHandle中调用这些路由处理方法,并返回数据给前端。并给serverHandle写入header指定json 格式返回数据。
- 在根目录下创建bin目录,并创建执行文件,用来运行整个项目。
- 编写一个resultModel.js文件,用来处理返回结果,返回状态码code,msg处理信息,和data数据。
app.js
router.js
返回数据的模型类
启动文件
热部署插件
安装一下cross-env插件,这样在写完代码不需要重启项目便可更新项目。
**注意:**安装此插件的大坑,可能会改一些配置才能运行成功。
cross-env使用
npm install --save-dev cross-env
"scripts": {
"dev": "cross-env NODE_ENV=dev nodemon ./bin/start.js",
"build": "cross-env NODE_ENV=pro nodemon ./bin/start.js",
}