首页 > 解决方案 > 使用汇总生成的文件覆盖命名空间

问题描述

const outputFileNamespace = "Foo";

const baseObject = {
    input: 'js/modules/',
    output: {
        name: outputFileNamespace,
        format: 'iife',
        sourcemap: true,
        banner: "/*Copyright text*/"
    },
    plugins: [(environment === PROD_ENV) && uglify()]
}; 

2. 使用此配置生成多个文件: js1.js , js2.js 3. 在浏览器中加载这些文件,命名空间被覆盖

预期行为

如果我们需要生成多个输出文件,其中公共全局命名空间为“Foo”,则应该在生成的文件中检查是否存在全局命名空间

实际行为

命名空间被覆盖,后一个 js 函数可用

标签: bundlerrolluprollupjs

解决方案


为每个构建使用点分隔的命名空间,例如app.foo或使用output.extend扩展选项而不是替换给定的命名空间。


推荐阅读