Vite 排除设置文件被捆绑

问题描述 投票:0回答:1

我正在使用 vite,我创建了一个 settings.json 文件来存储在安装脚本时应该更改的环境变量。

我怎样才能避免文件被缩小/捆绑在生产版本中,这样我就可以更改它,并且更新后的文件将在下次访问应用程序时使用(无需再次构建)?

我已经看到我可以将它移动到公共目录,并获取它而不是导入,但是我不知道如何使用它,因为获取是异步的,由于浏览器兼容性,我不能使用顶级等待还有。

这就是我现在使用它的方式:

import settings from "/settings.json";

export const loginSettings= {
  names: {
    signUpSignIn: b2cSettings.signUpSignInPolicyName
  },
  authorities: {
    signUpSignIn: {
      authority: b2cSettings.signUpSignInAuthority
    }
  },
  authorityDomain: b2cSettings.authorityDomain
};

我如何更改此代码,以便可以在生产中对其进行编辑而无需重新构建?

reactjs json asynchronous vite
1个回答
0
投票

我有类似的要求,我在 vite.config.js 的构建设置中使用了 rollupOptions 如下:-

export default defineConfig({
....
....
build: {
    rollupOptions: {
      input: {
        app: './index.html', //Entry point

        'settings': './src/settings.js',
      },
      output: {
        entryFileNames: assetInfo => {
          return assetInfo.name === 'settings'
            ? '[name].js'
            : 'assets/js/[name]-[hash].js'
        }
      },
    },
  }

这将在 dist 的根目录下输出 setting.js 并像往常一样在资产中休息其他人。确保你在代码中的某个地方导入了 settings.js 文件,否则 vite 将输出空块。

© www.soinside.com 2019 - 2024. All rights reserved.