Cannot find module 'webpack/lib/node/NodeTemplatePlugin' 问题原因和解决方案

当我配置了html-webpack-plugin 打包时报了这个错,查看了一下package.json发现没有webpack,说明使用了全局安装的webapck,导致的版本差异。

这里在本地安装webpack cnpm install --save-dev webpack 即可解决问题

--save-dev 的意思开发环境中依赖的插件,比如用来打包的webpack,会更新写入package.json文件的 devDependencies

--save 的意思是上线后也依赖的插件 比如vue, 会更新写入package.json文件的 dependencies

-g 的意思是全局安装。

题外话:

一般不推荐使用全局安装的webpack,如果package.json里没有相关的依赖,就会使用全局的webpack,当把项目发布到网上,别人下载后,也会使用全局的webpack,假如你全局安装的版本是2.0,而别人本地安装的是4,0版本,别人运行时就会出问题。

百度查看其它解决方案,都是让我们更新全局的webpack,万一你电脑其它项目依赖之前版本的全局webpack,这一更新就会导致其它项目构建失败了