1. node做为服务端
这里提供的静态文件服务,需要在同目录js下建立index.html或者其他文件
具体参考项目:D:\日常\vue2.0+node.js+MongoDB全栈打造商城
let http = require('http');
let url = require('url');
let util = require('util');
let fs = require('fs');
let server = http.createServer((req,res)=>{
var pathname = url.parse(req.url).pathname;
console.log("file:"+pathname.substring(1))
fs.readFile(pathname.substring(1), function (err,data) {
if(err){
res.writeHead(404,{
'Content-Type':'text/html'
});
}else{
res.writeHead(200,{
'Content-Type':'text/html'
});
res.write(data.toString());
}
res.end();
});
});
server.listen(3000,'127.0.0.1', ()=>{
console.log("服务器已经运行,请打开浏览,输入:http://127.0.0.1:3000/ 来进行访问.")
});
2. node做为客户端
node可以调取其他服务器的资源,这时候,node就是客户端,但这个客户端是相对的,不是浏览器等前端页面
let http = require('http');
let util = require('util')
http.get("https://www.imooc.com/index/getstarlist", function (res) {
let data = '';
res.on('data', function (chunk) {
data += chunk;
});
res.on('end', function () {
let result = JSON.parse(data);
console.log("result:"+util.inspect(result))
})
});
这个时候就是公司有团队做底层,而node做中间层,让node做为客户端去调取底层数据,前端调取node
3. node调试
- cmd命令行启动
- webstorm等编译器配置启动
- pm2
pm2
- 安装
cnpm install pm2 -g
- 启动
参照项目
pm2 start server/bin/www
pm2
是基于进程的,项目启动后仍然可以继续操作,而在cmd
命令窗口中只能另起窗口或者中断执行。
pm2
可以同时启动多个项目。
pm2 list
查看启动的项目。
pm2 log
查看日志
4.node 调试
nodejs项目管理之supervisor || pm2 || forever || nodemon
supervisor / nodemon
是开发环境用。forever
管理多个站点,每个站访问量不大,不需要监控。pm2
网站访问量比较大,需要完整的监控界面。