自npm更新后,Webpack未生成bundle



几周前,我使用npm ... --force等更新了所有依赖项。有人可能会说这不是最好的选择,但仍然。。。

我不知道确切的原因,但自从我更新了我的NPM依赖项后,webpack就不再生成我的输出捆绑包了,它以前做得很好。

项目布局如下

- app/
|- dist/
|- app-server/ (Node + Express)
|- app.js
|- ...
|- app-frontend/ (Vue + Bootstrap)
|- dist/ (HTML/CSS/etc)

webpack.config.js(从app-server/内部运行(:

const nodeExternals = require('webpack-node-externals');
const CopyPlugin = require('copy-webpack-plugin');
module.exports = [
{
name: 'server',
entry: './app.js',
output: {
path: __dirname + '/../dist',
filename: 'app_bundle.js',
},
mode: 'production',
target: 'node', // in order to ignore built-in modules like path, fs, etc.
externals: [
nodeExternals({})
],
plugins: [
new CopyPlugin({
patterns: [{ from: '../app-frontend/dist', to: '../dist/frontend' }],
})
],
stats: {
colors: true,
hash: false,
version: false,
timings: false,
assets: false,
chunks: false,
modules: false,
reasons: false,
children: false,
source: false,
errors: false,
errorDetails: false,
warnings: false,
publicPath: false,
},
},
];

日志只显示:

Entrypoints:
app (434 KiB)
css/chunk-vendors.f6f30965.css
js/chunk-vendors.98eb6b3c.js
css/app.a6ef7e2c.css
js/app.4fd07954.js

Child server:
Built at: 06.10.2020 19:07:17
Entrypoint main = app_bundle.js

并且不会生成任何文件。我尝试了chmod 775 dist/,但没有成功。我重新克隆了回购,但没有成功。我删除了CopyPlugin部分,但没有用。嘿,我甚至找到了我的Ubuntu的根目录,做了find * | app_bundle.js -r,它除了找到这个名字的日志之外,没有发现任何东西,打开后就是上面的日志。

从昨天起,我就一直对此感到头疼。

非常感谢您的帮助!

我终于想通了!

问题是,我添加了以下几行字,这是在射自己的脚:

stats: {
errors: false,
errorDetails: false,
warnings: false,
}

这基本上意味着它只是以错误代码1退出,但没有告诉我错误。

我认为这些参数是为了禁用浏览器中的错误。显然我错了

当我将上面的设置为true并再次运行webpack时,我发现它确实存在一些错误。

在我的案例中,错误是我正在创建名为(例如(orderController.js的文件(在Windows下(,但require正在调用../../OrderController,正如您所看到的,这并不完全相等。我的文件有一个o,脚本包含一个大写的O,它在Windows下运行得很好,但我忘记了Linux(生产运行的服务器(是区分大小写的。

在修复了这些错误之后,webpack运行得很好,并在指定的输出目录中生成了我的捆绑包!

相关内容

  • 没有找到相关文章

最新更新