Won*_*nka 10 javascript reactjs webpack webpack-2 laravel-mix
似乎webpack在 92%的块资产优化上停留了大约30秒以上,以显示简单的js/css更改.对于任何理智的人来说,这是太久了,他们可以坐下来等待他们的大部分生活,看看应该立即呈现的东西.
我们处于开发模式(因此我们需要源映射,这会增加延迟),但它仍然不应超过30秒.另外,我们没有使用uglify(我在GitHub上看到过它占用了大量的时间).
我们怎样才能让构建时间接近即时,或者比现在快得多?
UPDATE
这是laravel-mix文件:
let mix = require('laravel-mix');
mix.react('resources/assets/js/app.js', 'public/js')
.sass('resources/assets/sass/app.scss', 'public/css')
.options({
processCssUrls: false
});
mix.webpackConfig({
// Note: First build will always be slower regardless
// Here we're talking about rebuild time
// If commented out, rebuild is ~6 secs
// devtool: "inline-source-map",
// If not commented out, rebuild is 30+ secs
devtool: "inline-source-map",
});
Run Code Online (Sandbox Code Playgroud)
我发现inline-source-map最快的调试是最好的,因为它提供了关于在源代码中修复哪个错误行的最详细信息,非常非常直接地解决了什么问题.我发现其他类型比较神秘,并且没有迹象表明要在源代码中修复哪个行号,因此调试需要更长的时间.
你们是怎么做到的?有没有办法快速重建,同时仍然能够使用源代码中的错误行号进行调试来修复它(在chrome devtools控制台中显示)?
我在远程运行构建时也遇到了类似的问题,因此,在添加以下命令后,在 jenkin 中,问题为我解决了。
export "NODE_OPTIONS=--max_old_space_size=2000"
Run Code Online (Sandbox Code Playgroud)
我进行了纱线缓存清理,它解决了我在谷歌云上的 Ubuntu 16.04 主机上的问题“92% chunk asset optimization TerserPlugin”。
不确定它是否适用于您的机器
yarn cache clean
Run Code Online (Sandbox Code Playgroud)
我在第二台机器上遇到这个问题,并且这台机器需要重新启动。
sudo reboot
Run Code Online (Sandbox Code Playgroud)
我结合使用以下方法取得了巨大成功:
https://github.com/mzgoddard/hard-source-webpack-plugin
和
https://github.com/amireh/happypack
HardSourceWebpackPlugin 是一个 webpack 插件,为模块提供中间缓存步骤。为了查看结果,您需要使用此插件运行 webpack 两次:第一次构建将花费正常的时间。第二次构建将明显更快。
HappyPack 通过并行转换文件使初始 webpack 构建速度更快。
回来报告并让我知道进展如何。
| 归档时间: |
|
| 查看次数: |
12748 次 |
| 最近记录: |