错误:找不到模块'webpack'

我刚刚开始使用webpack,并且难以获得多入口点样本 。 示例中的webpack.config.js文件包含该行

var CommonsChunkPlugin = require("../../lib/optimize/CommonsChunkPlugin"); 

这对我来说是错误的

 Error: Cannot find module '../../lib/optimize/CommonsChunkPlugin' 

在周围search,我发现使用CommonsChunkPlugin与expression式的其他例子

 var commonsPlugin = new webpack.optimize.CommonsChunkPlugin("common.js"); 

与错误失败

 ReferenceError: webpack is not defined 

一些更多的search发现了一些例子,其中包括

 var webpack = require('webpack'); 

而我的构build现在失败了

 Error: Cannot find module 'webpack' 

我不知如何进行。

在Windows上工作时,我已经在本地安装了webpack,并解决了我的问题

所以,在你的命令提示符下,进入你要运行webpack的目录,在本地安装webpack(没有-g)并享受…

将全球安装的软件包链接到您的项目

 npm link webpack 

似乎是一个常见的Windows问题。 这对我来说是固定的:

Nodejs在Windows上找不到安装的模块?

“添加一个名为NODE_PATH的环境variables,并将其设置为%USERPROFILE%\Application Data\npm\node_modules (Windows XP), %AppData%\npm\node_modules (Windows 7),或者npm最终安装Windows风格要做到一劳永逸,在系统属性对话框的高级选项卡(运行control.exe sysdm.cpl,系统,3)中添加这个作为一个系统variables。

请注意,您实际上不能在NODE_PATH的值内使用另一个环境variables。 也就是说,不要复制和粘贴上面的string,而是将其设置为实际parsing的path,如C:\Users\MYNAME\AppData\Roaming\npm\node_modules

我在OS X上遇到了这个问题,它似乎是由我的全局安装的webpack和我本地安装的webpack-dev-server之间的版本不匹配造成的。 更新到最新版本摆脱了这个问题。

如果你已经安装了一个节点包,并且仍然得到这个包未定义的消息,那么你可能会遇到链接到该二进制文件的PATH问题。 只是澄清一个二进制和可执行文件本质上是做同样的事情,即执行一个包或应用程序。 ei webpack …执行节点包webpack。

在Windows和Linux中都有一个全局二进制文件夹。 在Windows中,我相信它就像C:// Windows / System32,而在Linux中它是usr / bin。 当您打开terminal/命令提示符时,它的configuration文件将PATHvariables链接到全局bin文件夹,以便您可以从中执行软件包/应用程序。

我最好的猜测是,全球安装webpack可能没有成功地将可执行文件放在全局二进制文件夹中。 没有那里的可执行文件,你会得到一个错误信息。 这可能是另一个问题,但可以肯定地说,如果你在这里阅读,全局运行webpack不适合你。

我对这个问题的解决方法是取消全局运行webpack并将PATH链接到node_module二进制文件夹,即/node_modules/.bin。

WINDOWS:将node_modules / .bin添加到PATH中。 这里是一个关于如何在Windows中更改PATHvariables的教程。

LINUX:转到您的项目根目录并执行此操作…

 export PATH:$PWD/node_modules/.bin:$PATH 

在Linux中,每次打开terminal时都必须执行此命令。 此处的链接显示如何对PATHvariables永久性进行更改。

在Windows上,我观察到,如果您没有pipe理权限(即,您不是本地pipe理员)在机器上显示此问题。

正如其他人所build议的,解决scheme似乎是通过不使用-g提示在本地安装。

npm install --save-dev webpack是不够的。

您还必须安装以下内容:

 npm install --save-dev webpack-dev-server