问题描述:

项目场景:uniapp+Vue3+TypeScript+Vite+vue-i18n黄色警告⚠️

警告信息:You are running the esm-bundler build of vue-i18n. It is recommended to configure your bundler to explicitly replace feature flag globals with boolean literals to get proper tree-shaking in the final bundle.


解决方案:

        vue-i18n 作为国际化插件,它主要有两个版本:v8 和 v9。v8 版本适用于 Vue2 框架,v9 版本适用于 Vue3 框架。具体区别可以查看 官网 。

        "You are running the esm-bundler build of vue-i18n" 错误,这是因为 vue-i18n 在 esm-bundler 构建中需要通过配置打包工具来替换特性标志全局变量,从而实现正确的 tree-shaking。以下是如何在 Uniapp 中解决这个问题的步骤:

使用 Vue CLI 配置打包工具

  1. 安装必要的依赖 ,确保你已经安装了 Vue CLI 和相关依赖:

    npm install vite vue vue-i18n
  2. 配置 Vue CLI,在 Uniapp 中,通常使用 Vue CLI 配置项目。在项目的根目录下创建或更新 vue.config.js 文件

    const webpack = require('webpack');
    
    module.exports = {
      configureWebpack: {
        plugins: [
          new webpack.DefinePlugin({
            __VUE_I18N_FULL_INSTALL__: JSON.stringify(true),
            __VUE_I18N_LEGACY_API__: JSON.stringify(false),
            __INTLIFY_PROD_DEVTOOLS__: JSON.stringify(false),
          }),
        ],
      },
    };
    

使用 Vite 配置打包工具

  1. 安装必要的依赖,确保你已经安装了 Vite 和相关依赖:

    npm install vite vue vue-i18n
  2. 配置 Vite,在项目的根目录下创建或更新 vite.config.js 文件:

    import { defineConfig } from 'vite';
    import uni from '@dcloudio/vite-plugin-uni';
    import vue from '@vitejs/plugin-vue';
    
    export default defineConfig({
      plugins: [uni(), vue()],
      define: {
        __VUE_I18N_FULL_INSTALL__: JSON.stringify(true),
        __VUE_I18N_LEGACY_API__: JSON.stringify(false),
        __INTLIFY_PROD_DEVTOOLS__: JSON.stringify(false),
      },
    });
    

重新打包和运行项目

npm run build
npm run serve

综上所述,黄色警告⚠️就解决了

GitHub 加速计划 / vu / vue
207.54 K
33.66 K
下载
vuejs/vue: 是一个用于构建用户界面的 JavaScript 框架,具有简洁的语法和丰富的组件库,可以用于开发单页面应用程序和多页面应用程序。
最近提交(Master分支:2 个月前 )
73486cb5 * chore: fix link broken Signed-off-by: snoppy <michaleli@foxmail.com> * Update packages/template-compiler/README.md [skip ci] --------- Signed-off-by: snoppy <michaleli@foxmail.com> Co-authored-by: Eduardo San Martin Morote <posva@users.noreply.github.com> 4 个月前
e428d891 Updated Browser Compatibility reference. The previous currently returns HTTP 404. 5 个月前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐