Javascript 如何减少Web包开发人员服务器重建时间
我正在开发一个Javascript游戏,在本地使用大型3d资源。我需要那些带有webpack的资产,如:Javascript 如何减少Web包开发人员服务器重建时间,javascript,webpack,webpack-dev-server,Javascript,Webpack,Webpack Dev Server,我正在开发一个Javascript游戏,在本地使用大型3d资源。我需要那些带有webpack的资产,如: require('../../assets/models/house.obj') 如您所见,这样做会给我带来大量的初始包和大量的初始构建时间: [0] main-ad421c4138968fe0a8ae.js 14.8 MB 0 [emitted] main [0] webpack built ad421c4138968fe0a8ae in 266
require('../../assets/models/house.obj')
如您所见,这样做会给我带来大量的初始包和大量的初始构建时间:
[0] main-ad421c4138968fe0a8ae.js 14.8 MB 0 [emitted] main
[0] webpack built ad421c4138968fe0a8ae in 26610ms
我对大量的构建时间没有意见,但真正的问题是使用dev服务器的重建时间
[1] [piping] File src/Game.js has changed, reloading.
[0] webpack built 80f5c6c75e347304002c in 10534ms
重建包需要10-20秒,甚至更长的时间才能到达浏览器。如果可能的话,我想减少这个时间
我已尝试完全忽略我的资产文件夹:
new webpack.IgnorePlugin( /assets\/*/ ),
但正如您可能猜到的,这意味着我不能再通过loacl路径require()
资产,这基本上就是使用webpack的全部意义
我还尝试使用忽略我的资产文件夹和节点模块:
new WatchIgnorePlugin([
path.resolve( __dirname, '../assets/models/' ),
path.resolve( __dirname, '../node_modules/' )
]),
然而,这也不会减少构建时间。我很喜欢这个插件,因为它看起来根本不起任何作用。我发现显著减少热重新加载时间的最好方法是使用Webpack的奇怪的“DllPlugin”。基本上,它构建了一个包含所有第三方依赖项的静态文件,所以Webpack在热重新加载期间不会再触及这些依赖项
我写下了我目前所知道的一切。如果你的资产在重建和(我假设它们是资产)之间没有变化,那么就没有依赖于你的应用程序的任何其他东西的js代码-只有你的应用程序依赖于它们,你能做吗?(在您的情况下,只要您不更改,第一个条目将永远不会重新加载您的资产,第二个条目将使用您的游戏代码)@topheman考虑到我的主条目块仍然需要所有资产,这可能吗?webpack不会仍然将它们捆绑到一个单独的条目块中吗?我添加了一个单独的条目块,其中包含了我所有的大型资产,构建时间仍然很长