Node.js 错误:找不到模块';网页包';

Node.js 错误:找不到模块';网页包';,node.js,webpack,Node.js,Webpack,我刚刚开始使用webpack,很难创建新的Web包。示例中的webpack.config.js文件包含以下行 var CommonsChunkPlugin = require("../../lib/optimize/CommonsChunkPlugin"); 这对我来说是错误的 Error: Cannot find module '../../lib/optimize/CommonsChunkPlugin' ReferenceError: webpack is not defined 在

我刚刚开始使用webpack,很难创建新的Web包。示例中的webpack.config.js文件包含以下行

 var CommonsChunkPlugin = require("../../lib/optimize/CommonsChunkPlugin");
这对我来说是错误的

Error: Cannot find module '../../lib/optimize/CommonsChunkPlugin'
ReferenceError: webpack is not defined
在四处搜索时,我发现了将CommonChunkPlugin与表达式一起使用的其他示例

var commonsPlugin = new webpack.optimize.CommonsChunkPlugin("common.js");
它会因错误而失败

Error: Cannot find module '../../lib/optimize/CommonsChunkPlugin'
ReferenceError: webpack is not defined
更多的搜索发现了一些例子,包括

var webpack = require('webpack');
我的构建现在失败了

Error: Cannot find module 'webpack'

我不知道如何继续下去

似乎是Windows常见的问题。这为我解决了这个问题:

添加名为
NODE\u PATH
的环境变量,并将其设置为
%USERPROFILE%\Application Data\npm\NODE\u modules
(Windows XP),
%AppData%\npm\NODE\u modules
(Windows 7),或npm最终在Windows flavor上安装模块的任何位置。要一次性完成此操作,请将其作为系统变量添加到“系统属性”对话框的“高级”选项卡中(运行control.exe sysdm.cpl,System,3)。”


请注意,实际上不能在
NODE\u PATH
的值内使用另一个环境变量。也就是说,不要只是复制并粘贴上面的字符串,而是将其设置为实际解析的路径,如
C:\Users\MYNAME\AppData\Roaming\npm\node\u modules

在windows上工作时,我已在本地安装了webpack,它解决了我的问题


因此,在您的命令提示符下,转到要运行webpack的目录,在本地安装webpack(不带-g)并享受…

我在OS X上遇到了这个问题,它似乎是由全局安装的
webpack
和本地安装的
webpack dev server
之间的版本不匹配引起的。将这两个版本更新到最新版本可以解决此问题

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

npm链接网页包

签出
纱线链接

如果已安装节点包,但仍收到包未定义的消息,则链接到二进制文件的路径可能有问题。只是为了澄清二进制文件和可执行文件本质上是做相同的事情,即执行一个包或应用程序。ei网页包。。。执行节点包webpack

在Windows和Linux中都有一个全局二进制文件夹。在Windows中,我相信它类似于C://Windows/System32,而在Linux中,它是usr/bin。当您打开终端/命令提示符时,它的配置文件将PATH变量链接到全局bin文件夹,以便您能够从中执行包/应用程序

我最好的猜测是,全局安装webpack可能没有成功地将可执行文件放入全局二进制文件夹。如果没有可执行文件,您将收到一条错误消息。这可能是另一个问题,但可以肯定地说,如果您在这里阅读本文,那么在全球范围内运行webpack对您不起作用

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

窗口: 将node_modules/.bin添加到路径中。 是关于如何在windows中更改路径变量的教程

LINUX: 转到项目根目录并执行此

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

在Linux中,每次打开终端时都必须执行此命令。此处的链接向您展示了如何对PATH变量进行永久性更改。

在windows上,我发现如果您在计算机上没有管理权限(即您不是本地管理员),则会出现此问题


正如其他人所建议的,解决方案似乎是不使用
-g
提示进行本地安装。

以上建议对我来说都不起作用(包括NODE_PATH变量)。我创建了一个“node_modules”的sym链接,从我的本地文件夹到全局AppData(如下图所示),它工作得很好

C:\Users\mmoinuddin\AppData\Roaming\npm>mklink /D node_modules c:\essportreact\day1\node_modules
symbolic link created for node_modules <<===>> c:\essportreact\day1\node_modules
C:\essportreact\day1>webpack
Hash: 2a82a67f90f9aa05ab4a
Version: webpack 1.15.0
C:\Users\mmoinddin\AppData\Roaming\npm>mklink/D节点\模块C:\essportreact\day1\node\模块
为节点\u模块c:\essportreact\day1\node\u模块创建的符号链接
C:\essportreact\day1>网页包
散列:2a82a67f90f9aa05ab4a
版本:网页1.15.0

在终端中运行以下命令:

npm安装--保存开发人员网页包


npm安装--save dev webpack dev server

刚刚发现使用Atom IDE终端没有在本地安装依赖项(可能是一个bug,也可能是我自己)。在外部安装git bash并再次运行npm命令对我来说很有效,这是一个错误的错误反馈

webpack.config.js
中存在配置错误


删除文件并重新开始解决了我的问题

在VS2017中构建一个非常简单的.NET Core 2.0应用程序时,我遇到了很多问题。这是AppVeyor的错误,但在本地基本上是相同的 (为了安全起见,省略了一些路径):

正在执行首次运行的网页包生成

module.js:327 犯错误

EXEC:错误:找不到模块“…../node_modules/webpack/bin/webpack.js”

在Function.Module.\u解析文件名(Module.js:325:15)

在Function.Module.\u加载(Module.js:276:25)

位于Function.Module.runMain(Module.js:441:10)

启动时(node.js:140:18)

在node.js:1043:3

csproj(25,5):错误MSB3073:命令“node node_modules/webpack/bin/webpack.js--config webpack.config.vendor.js”已退出,代码为1

生成失败


我偶然发现,我注意到我的本地实例在
{Project Root}->Dependencies->npm
文件夹上也有相同的警告标志。右键单击并点击“恢复包”使所有内容都正确加载,我能够成功构建

打开npm命令提示符和--cd解决方案文件夹 然后 只需在npm cmd prommt中运行npm link网页,然后重新构建..

您可以试试这个

npm install --only=dev
它对我有用。