首页 > 解决方案 > 使用 NPM 汇总解决 require('some.json')

问题描述

我有一个使用 Rollup 的包构建脚本,但在我的代码中,我有一个简单的 JSON“require”导入,“rollup”由于某种原因无法解析,并且没有错误,任何人都知道原因以及如何解决它(它只留下该代码,只保留原始代码而不转换它)?

const translation = require('../translation.json');

我的汇总配置脚本“ rollup.config.js ”如下所示:

import resolve from 'rollup-plugin-node-resolve';
import commonjs from 'rollup-plugin-commonjs';
import replace from '@rollup/plugin-replace';
import json from '@rollup/plugin-json';

export default {
    input: 'src/javascript/script.js',
    output: {
        file: 'dist/script.js',
        format: 'iife'
    },
    plugins: [
        resolve(),
        commonjs(),
        replace({
            'process.env.LANG': JSON.stringify(process.env.LANG)
        }),
        json()
    ]
};

我的初衷是使用动态变量来解决 require 导入问题,该变量允许我以下列方式构造文件路径:

const translation = require(`../translation_${process.env.LANG}.json`);

但我什至无法得到使用 Rollup 解决的简单要求

PS:我可以让它与 webpack 一起工作,但它会产生太多的代码垃圾,以至于大多数基本的捆绑代码难以阅读,或者在某些情况下不可读,所以尽量远离它

标签: javascriptnode.jsrollupjs

解决方案


推荐阅读