我刚刚开始与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”就可以正确地加载所有内容,并且我能够成功地构建。

其他回答

虽然建议的解决方案(npm链接webpack)在本地工作,但在我的CI (GitHub动作)上,我也有同样的问题,为了解决它,我使用了:

 npm i --save-dev webpack

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

Laravel用户

如果以上选项都不适合您,那么您可能需要正确安装laravell -mix。以下是如何做到的:

NPM安装laravell -mix—save-dev

现在使用下面的命令创建一个webpack.mix.js文件:

触摸webpack.mix.js

将以下代码添加到webpack.mix.js文件中:

mix.js('resources/js/app.js', 'public/js').postCss('resources/css/app.css', 'public/css', [
    require('postcss-import'),
    require('tailwindcss'),
    require('autoprefixer'),
]);

你可能还需要使用touch tailwind.config.js命令创建一个tailwind.config.js文件,然后添加以下代码:


module.exports = {
    content: [
        './vendor/laravel/framework/src/Illuminate/Pagination/resources/views/*.blade.php',
        './storage/framework/views/*.php',
        './resources/views/**/*.blade.php',
    ],

    theme: {
        extend: {
            fontFamily: {
                sans: ['Nunito', ...defaultTheme.fontFamily.sans],
            },
        },
    },

    plugins: [require('@tailwindcss/forms')],
};

最后运行npm run dev

在windows上,我观察到,如果您在计算机上没有管理权限(即,您不是本地管理员),就会出现这个问题。

正如其他人建议的那样,解决方案似乎是通过不使用-g提示在本地安装。

在全球范围内安装webpack和CLI对我来说是有效的。

npm i -g webpack webpack-cli