创建多个Webpack构建并处理可选的依赖项

时间:2017-11-08 15:50:06

标签: javascript webpack lodash

我正在使用webpack创建一些我正在创建的库的不同版本:

  • Kitchen sink build - 包含已经内置的所有全局deps,可以用作页面上的简单脚本。
  • 模块构建 - 仅包含库代码,不包含deps。实施者必须确保deps本身可用。

我有2个webpack配置,每个版本一个。 webpack配置文件之间的主要区别是最小版本使用如下所示的externals配置,这省略了构建中的deps。

{
  lodash: {
    commonjs: 'lodash',
    commonjs2: 'lodash',
    amd: 'lodash',
    root: '_'
  },
  rsvp: {
    commonjs: 'rsvp',
    commonjs2: 'rsvp',
    amd: 'rsvp',
    root: 'RSVP'
  }
}

如果我想在我的厨房水槽构建中包含所有lodash,这非常有用。但是考虑到lodash有点大,我只使用lodash中的~3个函数,我想转到一个自定义构建,其中只包含我用来最小化文件大小的函数。我成功地创建了lodash的自定义构建,它与我的厨房水槽构建一样按预期工作。

我遇到的问题是最小构建现在包括自定义lodash构建而不是寻找全局实例。

我认为问题源于将externals映射到我使用本地构建的lodash时更改为的lodash导入。

// My original import that correctly removed lodash from minimal build
var _ = require('lodash')

// The new import I'm using to use my custom build
var _ = require('./utilities/lodash.custom')

对于上下文,这里是我用来创建我的lodash的构建命令:

node ./node_modules/lodash-cli/bin/lodash -p include=partial,merge,find exports=node -o utilities/lodash.custom.js

任何人都知道如何正确使用externals进行自定义lodash构建?

0 个答案:

没有答案