laravel - Webpack Laravel-Mix Chunk 错误类型错误:“e[r] 未定义”
问题描述
我正在使用 Vue 和 Laravel 构建一个 Web 应用程序。我在后台使用 Laravel mix 和 Webpack 进行代码拆分和版本控制。
但是,每当我对我的代码进行更改时,运行 npm run production 并在实时服务器上上传,我经常收到 TypeError: "e[r] is undefined"
在页面正确加载之前,我必须手动清除浏览器缓存。我已经启用了版本控制,因此缓存清除应该是自动化的。
下面是我的 webpack.mix.js 文件
const mix = require('laravel-mix');
const webpack = require('webpack');
mix.webpackConfig({
plugins: [
new webpack.IgnorePlugin(/^\.\/locale$/, /moment$/)
]
})
const CompressionPlugin = require('compression-webpack-plugin');
module.exports = {
plugins: [new CompressionPlugin()],
optimization: {
minimize: true,
namedModules: true,
namedChunks: true,
removeAvailableModules: true,
flagIncludedChunks: true,
occurrenceOrder: false,
usedExports: true,
concatenateModules: true,
sideEffects: false, // <----- in prod defaults to true if left blank
}
};
/*
|--------------------------------------------------------------------------
| Mix Asset Management
|--------------------------------------------------------------------------
|
| Mix provides a clean, fluent API for defining some Webpack build steps
| for your Laravel application. By default, we are compiling the Sass
| file for the application as well as bundling up all the JS files.
|
*/
mix.js('resources/js/main/main.js', 'public/v1.4.0/js')
.sass('resources/sass/app.scss', 'public/css')
.extract(['vue'])
.version();
解决方案
我有一个类似的问题,我找到了一个不太好的解决方案,但它有效:在 webpack 配置选项中设置optimization.concatenateModules
并设置optimization.minimize
为 false。
推荐阅读
- azure - azure 函数资源管理器模板 parameters.json 的含义和相关值
- python - numpy pandas 的构建轮子失败
- ios - 如果有的话,编写 iOS 项目时的一般结构是什么?
- c++ - 如何将可变参数模板函数 *instance* 声明为朋友
- vb.net-2010 - Updating Access Database with VB 2010
- swift - 水平滚动视图在快速滚动期间上下跳跃
- android - Initializing LiveData from lateinit object
- powershell - Query and exclude softwares installed on remote computers
- python - Python:打印 4 个变量的排列
- android - How to hide activity if it's immediately being redirected