2014-12-05 55 views
4

我最近从require.js移动到webpack,并且某些node_module内置了.min文件。当我使用node_module中的文件时,我只是做了require('my-module'),它在没有任何配置的情况下立即加载它。但是这会加载开发版本或更大的版本。我应该缩小node_modules还是应该使用为客户端部署提供的缩小版本?

例如反应是加载require('react/addons')但这不是缩小版本。

我的问题是:

  • 我应该正常加载模块,然后再压缩一切?
  • 我应该使用提供的.min文件,然后再次缩小一切吗? (这样我省了很多磁盘)
  • 还有什么更好的办法吗?自动加载缩小的文件会很好。

现在,我改变的WebPack的别名加载建立应用程序时的精缩版:

myConfig.resolve.alias.phaserUnFixed = "nodeModules/phaser/build/custom/phaser-no-physics.min.js"; 
myConfig.resolve.alias.react = "nodeModules/react/dist/react-with-addons.min.js"; 
myConfig.resolve.alias.lodash = "nodeModules/lodash/dist/lodash.compat.min.js"; 
myConfig.resolve.alias.moment = "nodeModules/moment/min/moment.min.js"; 

但是,这不是一个很好的方法要么...你能想到什么更好?

回答

1

我不知道这是否是您正在寻找的答案,但我认为这种情况下的最佳做法是使用webpack将其用于生产,而不用担心加载缩小的文件。让webpack在整个bundle上运行uglify将删除所有未使用的代码路径,然后将其缩小。

+0

有一个名为phaser的库,它有不同的文件。默认配置了许多其他工具。但它也有其他文件,只有我需要。整个文件是+ 1MB我需要的部分是300KB。你有什么建议? – 2014-12-19 17:19:30

+0

我会坚持让webpack缩小休息时间,尽量减少,反应,但对于移相器,我想你应该只是因为它的大小而使用别名。它会减慢你的构建操作。如果你在捆绑后丑化,结果输出文件将是相同的,但这只是编译时间的问题。 – 2014-12-19 22:31:46

+0

我有同样的担忧,webpack是为了摆脱许多在浏览器中异步加载的文件,但是缺点是你会以非常大的文件结束。这个问题不受欢迎是一种耻辱。很多人都在使用webpack,很多人都应该关注这个问题。 – alexserver 2015-09-13 04:48:47

相关问题