保留 json 对象用作带有简洁的字典

preserve json object used as dictionary with terser

我目前将我的 typescript 代码与 rollup 捆绑在一起,并希望将 terser 用于 minifying/uglifying。在我的代码中,我有一个字典对象并将其导入到我的打字稿代码中。

const dict = { ironResource : "Iron" }

在我的代码中,我使用它将标识符翻译成其他语言或通过项目标识符 (ironResource) 访问配置。 Terser 会破坏我的密钥并破坏对象的用途。

const B1 = { aB1 : "Iron" }

更简洁的设置:

terser({
        parse: {
        },
        compress: {
        },
        mangle: {

            properties: {

            }
        },
        format: {
        },
        ecma: 5,
        keep_classnames: false,
        keep_fnames: false,
        ie8: false,
        module: false,
        nameCache: null,
        safari10: false,
        toplevel: false,
    })

如何阻止 terser 这样做?

我希望您需要像这样设置 mangle:

mangle: {
    properties: false
},

或在 properties option object 中设置正确的选项以特别保留这些选项。例如引用 属性 名称并将 keep_quoted 设置为 true.