为不同的接口实现创建多个包

Create multiple bundles for different interface implementations

我想在我使用 browserify 的项目中实现以下目标:

我想从相同的来源生成 2 个不同的包,每个都包含一个公共接口的给定实现,

        requires            requires                generates
a.js +------------> b.js +------------> c.impl1.js +-----------> bundle.1.js
                         |
                         +------------> c.impl2.js +-----------> bundle.2.js

我应该如何从 b.js 文件中获取不同的实现并配置 browserify 以不以包含所有依赖项的单个包结束?

提前致谢!

我在查找一些不相关的代码时找到了解决方案。

我现在正在使用这个模式创建一个中间接口文件c.js:

if (process.env.CLASS_IMPL === 'impl1') {
  module.exports = require('./c.impl1')
} else {
  module.exports = require('./c.impl2')
}

因此,我根据在 运行 捆绑过程之前设置的环境变量导出一个或其他实现。