node升級之後,打開較早之前的一個iview-admin項目,發現啓動npm run dev報如下錯誤:
npm ERR! [email protected] 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) {
// });
});