使用 webpack 在 ractive 模块中获取缩小版本

Grab the minified version in ractive module with webpack

我在前端应用程序中使用 ractive 和 webpack。 我的应用程序的包大小非常大(1.3M),所以我在想与其用 webpack 缩小节点模块,不如抓取一些模块的已经缩小版本更好?例如,在 ractive 的情况下,ractive 模块在通过 npm install ractive 安装时在 node_modules/ractive 中构建缩小版本,所以我想告诉 webpack获取此文件而不是压缩整个文件。

ractive.js尺码是

-rw-rw-r-- 1 vagrant vagrant 413K Apr 25 17:53 ractive.js

ractive.min.js

-rw-rw-r-- 1 vagrant vagrant 162K Apr 25 17:53 ractive.min.js

有什么办法可以告诉 webpack 吗?

也许不用写

var R = require('ractive')

应该写成

比较好

var R = require('./node_modules/ractive/ractive.min.js')

我不喜欢这个选项,因为它看起来太老套了,但如果没有办法用 webpack 做好,我就不得不这样做。

当 webpack 打包源文件时,默认情况下它不会缩小它们。这可能就是您最终得到一个大包文件的原因。您可以 运行 webpack -p 以获得捆绑文件的缩小版本。这将导致文件大小类似于首先使用 ractive-min 作为源的包。

如果您仍想在开发中使用缩小版的 ractive,您可以使用 NormalModuleReplacementPlugin。这是一个例子:

webpack.config.js

var webpack = require('webpack');

module.exports = {
    // other configuration settings

    plugins: [
        new webpack.NormalModuleReplacementPlugin(/^ractive$/, 'ractive/ractive.min')
    ]
};