问题情况如下
老项目使用的vue2.5+webpack2开发,最近对项目进行更新,打包时执行命令npm run build
一直卡住无法退出,但它其实已经编译完毕。 输出以下信息后node一直不退出:
clean-webpack-plugin: xxxx\dist has been removed.
Hash: 7afa6625dc3739ec9f07
Version: webpack 2.4.1
Time: 28829ms
node版本大于或等于v15会出现卡住的情况
原因
vue-template-compiler
中有如下一段代码。由于isNative判断出错导致执行了MessageChannel那段代码,MessageChanne中port如果不close,nodejs进程不会退出的。MessageChannel 从 nodejs15开始支持。
issue: https://github.com/vuejs/vue-loader/issues/1908
处理方式
issue: https://github.com/vuejs/vue-loader/issues/1908
在合适的js打包配置文件中加入:delete global.MessageChannel;