0

我想避免尝试在我的 vue 代码中管理多个静态数组。目前我有一个长的 i18Next json 并且正在使用它在运行时为 vue-treeselect 生成先决条件的对象数组。但我可以看到它在打磨并且性能明显滞后

由于我实际上不需要在运行时构建这些数组,是否有构建/开发时间的方式来做到这一点?

目前将 i18next json 转换为数组是由这个完成的

export function walk(item) {
    const mainArray = [];
    Object.keys(item).forEach((key) => {
        const objectLiteral = {};
        objectLiteral.id = key;
        objectLiteral.label = 'later - gen key';
        if (typeof item[key] === "object") {
            
            const arrayTemp = [];
            //we need to create an array of objects here and assign them to 'children' in the parent
            Object.keys(item[key]).forEach((key2) => {
                if (key2.slice(-3) === 'gen') {
                    objectLiteral.label = item[key][key2];
                } else { 
                const objectTemp = {};
                objectTemp.id = key2;
                objectTemp.label = item[key][key2];
                arrayTemp.push(objectTemp);
                }
            });
            objectLiteral.children = arrayTemp;
        }
        mainArray.push(objectLiteral)
    });
    return mainArray;
}

我使用 vite 作为开发/构建环境

4

1 回答 1

0

根据您用于项目的构建工具,您始终可以在捆绑器的构建管道中生成这些内容。

例如,在 Webpack 中,您可以简单地运行一个脚本并将结果作为变量注入,因为它只是 JavaScript。

https://webpack.js.org/plugins/define-plugin/

其他构建工具也能够在构建步骤中运行脚本。

编辑:正如 baradhili 自己提到的,您可以通过“node script.js”在 package.json 中设置一个脚本,例如在构建期间使用其他构建工具运行脚本。这样您就可以预先构建数据数组。

于 2021-04-13T09:36:42.817 回答