错误:找不到模块'webpack / lib / node / NodeTemplatePlugin'

时间:2017-04-03 08:06:30

标签: node.js angular

运行webpack后出现此错误。 Webpack全局安装,我正在运行Node

PS D:\Projects\ng2-admin-master> ng serve
Cannot find module 'webpack/lib/node/NodeTemplatePlugin'
Error: Cannot find module 'webpack/lib/node/NodeTemplatePlugin'
    at Function.Module._resolveFilename (module.js:469:15)
    at Function.Module._load (module.js:417:25)
    at Module.require (module.js:497:17)
    at require (internal/module.js:20:19)
    at Object.<anonymous> (D:\Projects\ng2-admin-master\node_modules\html-webpack-plugin\lib\compiler.js:11:26)
    at Module._compile (module.js:570:32)
    at Object.Module._extensions..js (module.js:579:10)
    at Module.load (module.js:487:32)
    at tryModuleLoad (module.js:446:12)
    at Function.Module._load (module.js:438:3)
    at Module.require (module.js:497:17)
    at require (internal/module.js:20:19)
    at Object.<anonymous> (D:\Projects\ng2-admin-master\node_modules\html-webpack-plugin\index.js:7:21)
    at Module._compile (module.js:570:32)
    at Object.Module._extensions..js (module.js:579:10)
    at Module.load (module.js:487:32)
PS D:\Projects\ng2-admin-master>

12 个答案:

答案 0 :(得分:53)

Node要求您将webpack安装到项目中。

您有2个选项可以解决上述问题:

  1. 删除全局webpack并在本地安装

    npm uninstall -g webpack npm install --save-dev html-webpack-plugin webpack webpack-dev-server

  2. 您可以将全局webpack pkg链接到项目的节点模块。这样做的缺点是你的项目将被迫使用最新的webpack。仅当某些更新不向后兼容时,这才会产生问题。

    npm i webpack -g; npm link webpack --save-dev

  3. 您可以根据需要省略html-webpack-plugin。

    您可以在此github issue page找到更多信息。

    更新(2018年4月)

    Webpack 4以后您需要安装webpack-cli。如果您需要使用this page上标有密钥的选项,则可能还需要安装webpack-dev-middleware

    在这种情况下,安装命令是:

    npm install --save-dev webpack webpack-cli html-webpack-plugin webpack-dev-server webpack-dev-middleware

    如上所述,应根据您的要求选择添加webpack-dev-middleware

答案 1 :(得分:21)

使用ncu更新 Angular 应用时,我遇到了类似的问题。最后通过删除node_modules和package-lock.json来解决它并重新安装软件包。

您可以在PowerShell中运行它(确保您位于正确的工作目录中):

rm node_modules -r -force
rm package-lock.json
npm cache verify
npm install

答案 2 :(得分:9)

我尝试了几个小时,几乎所有在Stack溢出的不同线程上建议的东西,但没有任何效果。最终(幸运的是)我尝试了这个并且它有效:

deleted node_modules library (not sure if required)
npm install -g @angular/cli
npm install @angular/cli
npm install

答案 3 :(得分:7)

在我的下一个 js 应用中配置了“react-bootstrap”后,这发生在我身上。 尝试添加此修复了我的问题:

yarn add webpack@webpack-4

或者如果使用 npm:

npm i webpack@webpack-4

答案 4 :(得分:3)

上下文:

我在React应用程序中遇到了这个问题。

我尝试在全局和本地卸载Webpack,还删除本地文件夹node_modules,重新安装所有本地npm模块(使用npm install),等等。

什么都没做,直到这样做...


解决方案:

  1. 删除package-lock.jsonnode_modules
  2. 不删除其他文件(例如:package.jsonindex.js ...)
  3. 使用npm === package.json安装所有软件包(npm installnpm i提取安装信息)。
  4. 现在,运行您的代码,然后

答案 5 :(得分:0)

检查webpack.config.js并确保已安装所有依赖项。

我也有同样的问题。通过安装html-webpack-plugin依赖关系已解决。它是在我的webpack.config.js中定义的,但尚未安装。

答案 6 :(得分:0)

删除package-lock.json并尝试npm install即可解决此问题。

答案 7 :(得分:0)

以下为我工作:-

  • 已删除的node_modules
  • 已删除package-lock.json
  • 运行npm install

答案 8 :(得分:0)

这对我有用:

1. npm uninstall -g webpack
2. rm node_modules -r -force
3. rm package-lock.json
4. npm install

答案 9 :(得分:0)

您必须检查已安装在 webpack 文件夹中或您的机器上的 node_modules 模块吗?如果不安装

答案 10 :(得分:0)

对我来说,我修复了这个错误:

yarn add --save-dev webpack webpack-cli html-webpack-plugin webpack-dev-server webpack-dev-middleware

答案 11 :(得分:0)

当我使用 yarn 安装而项目使用 npm 时会发生这种情况。我删除了 node_modules 文件夹,然后再次尝试使用 npm i

rm -rf node_module
npm install

这样做的原因是项目使用了兼容的特定软件包版本,但使用 yarn 安装了可能与当前项目不完全兼容的最新版本。

检查项目使用的是哪个锁文件,然后使用相应的包管理器。