javascript - Webpack 加载包但不执行代码
问题描述
我正在使用 django 加载 webpack 块,并且我有一些入口点。问题是我有一个包含所有 node_modules 包的供应商块,并且该应用程序在几乎所有入口点都可以正常工作。但是有几个入口点不需要加载供应商块,如果我不添加供应商块,则入口点文件会加载到浏览器中,但不会执行代码。如果我使用入口点加载供应商块,则可以。
例如我有这个入口点:
entry: {
signup: path.join(sourcePath, 'signup/signup.js'),
...
}
注册的内容基本上是一个console.log(),它需要一个样式表
并且入口点像这样加载到模板中
<head>
{% render_bundle 'signup' 'css' %}
{% render_bundle 'signup' 'js' %}
</head>
<body>
....
</body>
我也在 webpack 配置中创建供应商包,如下所示:
config.optimization = {
splitChunks: {
cacheGroups: {
commons: {
test: /[\\/]node_modules[\\/]/,
name: 'vendor',
chunks: 'initial',
}
}
}
};
当我在浏览器中加载页面时,它没有加载样式,也没有在入口点块内执行 console.log,但我可以看到注册块代码
我也一直在做一些测试,我意识到如果我在模板中加载块供应商也可以正常工作,如下所示:
<head>
{% render_bundle 'signup' 'css' %}
{% render_bundle 'signup' 'js' %}
{% render_bundle 'vendor' 'js %}
</head>
<body>
....
</body>
任何人都知道为什么会发生这种情况?我不需要此模板中的供应商捆绑包,但 webpack 强制我添加它
我正在使用 webpack 5.18.0
谢谢您的帮助!
解决方案
推荐阅读
- mysql - 在 Django 中存储列表的最佳方式(不是 Postgres)
- python - 这是什么“_tkinter.TclError:错误选项”。谁能告诉我我做错了什么并告诉我如何解决这个问题?
- bash - 为什么 `ls -lF` 列出前缀为“~$”的文件不存在于目录中?
- javascript - API链接ReactJS上的变量不会更新
- python - 从whatsapp发送Python视频时没有声音
- php - SQL排序列表,但将特定元素放在PHP中
- mysql - MySQL 错误 MySQL # 1415 创建触发器
- python - 如何根据日期从数据框中提取值?
- angular - 在 Ionic Framework (v5) 中,如何将保存在数据目录中的 blob 图像用作内联图像和背景图像?
- ansible - 在没有命令行输入的情况下在ansible中使用带有条件的vars_prompt