我刚刚开始与webpack和我有困难得到多入口点样本构建。示例中的webpack.config.js文件包含以下行
var CommonsChunkPlugin = require("../../lib/optimize/CommonsChunkPlugin");
这个错误对我来说是无效的
Error: Cannot find module '../../lib/optimize/CommonsChunkPlugin'
在搜索中,我找到了其他使用CommonsChunkPlugin和表达式的示例
var commonsPlugin = new webpack.optimize.CommonsChunkPlugin("common.js");
哪个错误会失败
ReferenceError: webpack is not defined
更多的搜索发现了一些例子,包括
var webpack = require('webpack');
我的构建现在失败了
Error: Cannot find module 'webpack'
我不知道该怎么做。
在VS 2017中构建一个非常简单的。net Core 2.0应用程序时,我遇到了很多问题。这是AppVeyor的错误,但在本地本质上是一样的
(为了安全起见,省略了一些路径):
执行第一次运行Webpack构建…
module.js: 327
把犯错;
EXEC: error:无法找到模块“......../node_modules/webpack/bin/webpack.js”
在Function.Module。_resolveFilename (module.js 325:15):
在Function.Module。_load (module.js 276:25):
Function.Module.runMain (module.js:441:10)
在启动时(node.js:140:18)
在node . js: 1043:3
csproj(25,5): error MSB3073: The command "node node_modules/webpack/bin/webpack.js——config webpack.config.vendor.js" exit with code 1。
构建失败了。
我偶然发现了这个问题和答案,我注意到我的本地实例在{Project Root} -> Dependencies -> npm文件夹上也有相同的警告标志。右键单击并点击“Restore packages”就可以正确地加载所有内容,并且我能够成功地构建。
如果您已经安装了一个节点包,但仍然收到包未定义的消息,则可能与指向二进制文件的PATH链接有关。澄清一下,二进制文件和可执行文件本质上做的是相同的事情,即执行一个包或应用程序。ei webpack……执行节点包webpack。
在Windows和Linux中都有一个全局二进制文件夹。在Windows中,我认为它是C://Windows/System32,在Linux中是usr/bin。当您打开终端/命令提示符时,它的概要文件将PATH变量链接到全局bin文件夹,以便您能够从它执行包/应用程序。
我最好的猜测是,全局安装webpack可能没有成功地将可执行文件放在全局二进制文件夹中。如果没有可执行文件,您将得到一条错误消息。这可能是另一个问题,但可以肯定地说,如果你正在阅读这篇文章,那么全局运行webpack并不适合你。
我对这个问题的解决方案是取消全局运行webpack,并将PATH链接到node_module二进制文件夹,即/node_modules/.bin。
窗口:
将node_modules/.bin添加到PATH中。
下面是一个关于如何在窗口中更改PATH变量的教程。
LINUX:
转到你的项目根目录并执行这个…
export PATH=$PWD/node_modules/.bin:$PATH
在Linux中,每次打开终端时都必须执行这个命令。这个链接向您展示了如何对PATH变量进行永久更改。