【发布时间】:2018-04-21 09:27:18
【问题描述】:
我正在使用 webpack 创建我正在创建的库的几个不同版本:
- Kitchen sink build - 包含已内置的所有全局 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
有人知道如何正确地使用外部组件来构建自定义 lodash 吗?
【问题讨论】:
标签: javascript webpack lodash