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

时间:2016-01-15 11:30:29

标签: browserify

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

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

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

我应该如何要求b.js文件中的不同实现并将browserify配置为最终不包含包含所有依赖项的单个包?

提前致谢!

1 个答案:

答案 0 :(得分:0)

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

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

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

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