uniapp 如何获取manifest.json的内容

在uniapp开发中,如何通过代码获取manifest.json文件中的配置内容?比如想动态读取appid、版本号等信息,是否有官方API可以直接调用?还是需要手动读取和解析这个文件?

2 回复

在uniapp中,可以通过uni.getSystemInfoSync()获取部分manifest配置,或直接引入manifest.json文件读取。


在 UniApp 中,可以通过以下方法获取 manifest.json 的内容:

1. 使用 uni.getSystemInfo() 获取部分配置

manifest.json 中的部分配置(如应用版本、名称等)可通过系统信息 API 获取:

uni.getSystemInfo({
  success: (res) => {
    console.log('应用名称:', res.appName);
    console.log('版本号:', res.appVersion);
    console.log('平台:', res.platform);
  }
});

2. 直接导入 manifest.json 文件(需配置)

vue.config.js 中配置,将 manifest.json 作为模块导入:

// vue.config.js
module.exports = {
  configureWebpack: {
    module: {
      rules: [
        {
          test: /manifest\.json$/,
          type: 'javascript/auto',
          use: [
            {
              loader: 'file-loader',
              options: {
                name: 'manifest.json'
              }
            }
          ]
        }
      ]
    }
  }
};

然后在代码中导入:

import manifest from '@/manifest.json';
console.log(manifest);

3. 通过条件编译获取(HBuilderX 环境)

在 HBuilderX 中,可使用条件编译获取部分配置:

// #ifdef APP-PLUS
const manifest = plus.runtime.arguments;
console.log('Manifest 内容:', manifest);
// #endif

注意事项:

  • 方法 1 适用于获取基础信息,无需额外配置。
  • 方法 2 需修改构建配置,适用于需要完整 manifest 内容的场景。
  • 方法 3 仅限 App 平台,且依赖 HBuilderX 环境。

根据具体需求选择合适的方法。

回到顶部