node升级之后,打开较早之前的一个iview-admin项目,发现启动npm run dev报如下错误:
npm ERR! runonce@1.3.1 dev: `webpack-dev-server --content-base ./ --open --inline --hot --compress --host 127.0.0.1 --port 8081 --config build/webpack.dev.config.js`
定位原因:
node 版本问题,node v10 以上 fs.write 的callback 是必须的,降低Node版本可解决。
如果不想重新安装node到低版本
将webpack.dev.config.js 和 webpack.prod.config.js 中:给fs.write添加必要的callback函数。
解决方法如下:找到build文件夹下面的 webpack.dev.config.js ,对照一下,改为如下:(注释掉的为原来的配置)
fs.open('./build/env.js', 'w', function (err, fd) { const buf = 'export default "development";'; fs.write(fd, buf, 0, 'utf-8', function(err, written, buffer) {}); // fs.write(fd, buf, 0, buf.length, 0, function (err, written, buffer) { // });});