接着上篇的继续说,node应用打包中为什么要区分生产依赖和开发依赖。
首先node的打包和前端应用的打包有些不同,node的打包一般要排除掉node_modules,自己理解大概有以下几点:
- 包含node_modules包很大,而且在线上直接暴露源码也不安全
- 排除掉node_modules之后,根据环境的不同需要制作成镜像部署,在不同的环境中去安装对应的依赖和环境
- 贴一张Dan说的,大概意思是说node本来就是运行时,所以也不需要开发依赖,也不需要把一些测试的工具带到线上
代码demo如下
打包的时候排除了依赖
执行了npm install --production
正常响应