通过vue-cli安装的项目,启动时eslint报no-octal-escape
错误
可能原因:node版本过低
解决方案:升级node或者降低eslint的版本
生产环境中请求过多时pm2自动重启koa2进程导致重启期间接口丢失问题
原因: pm2赋予服务的进程数过小,同时重启命令使用的pm2 restart [name]
解决方案:
pm2 启动服务时赋予多个进程:
// -i表示赋予的进程数,--name表示对进程命名
pm2 start 服务入口文件 -i 4 --name [进程重命名]
pm2重启时使用reload方法,它会无缝重启
pm2 reload [进程名]
vue项目打包时node内存溢出
原因: 入口文件中引入并了一个方法,而那个方法所在的文件包含一个递归方法,导致webpack打包时文件引用关系递归,从而使内存溢出。
node项目区分开发、生产环境
解决方案:
修改package.json命令,添加环境参数。
scripts: {
dev: "set NODE_ENV=dev && node index.js" // windows服务器下使用set命令
start: "export NODE_ENV=production && pm2 start index.js -i 4" //Linux服务器下使用export命令
}
代码中判断环境:
process.env.NODE_ENV === 'production'