有没有一种方法可以选择在捆绑软件中添加功能?

时间:2020-10-09 09:15:38

标签: javascript webpack module bundler rollup

早上好,我的任务是为CMS创建两个不同的捆绑软件,为产品团队创建另一个捆绑软件,我希望将几个功能捆绑在CMS捆绑软件中,但不在产品团队中。

我有XYZ类

Class XYZ {

constructor() {}

forCms() {}

forProduct() {}

}

我想要两个不同的捆绑包:

对于CMS(我需要forCms函数):

Class XYZ {

constructor() {}

forCms() {} //<--- notice methods

}

对于产品(我需要产品功能):

Class XYZ {

constructor() {}

forProduct() {} //<--- notice methods

}

我搜索了很多东西,然后发现了Env。变量,我将它们用于某些逻辑,例如:

function abc() {
        const env = process.env.NODE_ENV;
        switch (env) {
            case "cms":
                //some logic
                break;
            default:
               //some logic
                 });
        }
}

我不知道该如何实现?或ENV之外是否有其他任何方式。在Webpack或Rollup之类的捆绑器中完成此任务?

任何建议都会有所帮助!

1 个答案:

答案 0 :(得分:1)

如果您正在寻找如何根据env变量将方法附加到原型上,可以执行以下操作:

phpinfo()

Playground