Node JS后端项目开发与生产环境总结

JavaScript08

Node JS后端项目开发与生产环境总结,第1张

建立在后台模板渲染(ejs, pug)的基础上。前后分离架构请参考 webpack热更新实现

nodemon 在js文件变化后悔重新运行程序,在 package.json 的 scripts 中添加:

nodemon还有许多可选配置,具体参阅 nodemon文档

以koa为例

如若想要将错误抛出到浏览器页面和美化错误页面, express 可用 express-error-handler , koa 可用 onerror

由于是后台模板渲染,所以没法用 webpack-dev-server 进行自动刷新。能做的就是利用 webpack 的 watch 在前端js改变后自动打包,当然还是免不了手动刷新

注意一定要开启 source-map ,不然无法定位报错位置。为通知 webpack 是生产还是开发环境,可以使用 cross-env ,然后在 package.json 的 scripts 中添加:

开发时应运行两个命令:

生产环境一般使用 pm2 , pm2 已经帮我们完成了进程守护和负载均衡,内部实现原理在此不再赘述,具体参考 pm2文档 。

生成的配置文件已包含了生产环境的基本本质。跟多配置请参考 pm2文档 ,在 package.json 文件的 scripts 中添加

生产环境下运行

这时我们可以通过 process 全局变量获取到环境状态,在 app.js 中添加

类似 nginx 的 access.log 和 error.log ,利用 fs 模块的 appendFile 方法来输出日志。首先在项目根目录下新建文件夹 logs

建立一个模板命名为 notFound.pug ,在路由之后渲染

在webpack中添加插件

发布应用时需运行

作为一个java工程师来说,对于后端来说,我们需要技术精湛,对于前端来说,我们做到了解就行,但是js一个连接前后端的枢纽,我们还是有必要去熟知的,精通当然更好,现在流行全栈工程师,如果你后端很厉害,js又精通,那么无论是面试还是开发,对于你来说都是非常重要的财富,面试你又很大竞争力,开发你比别人效率高很多,那么你的晋升机会就比较大。

总之,如果你有精力就在精通后端的基础上研究一下js,如果精力不足的话,熟知一些常用的js就行了!

(来自一个多年从事java开发的程序员的建议,仅做参考O(∩_∩)O哈哈~)