使用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的ESM(ES模块)捆绑构建版本。建议配置你的打包工具(bundler),以明确地将特性标志(feature flag)全局变量替换为布尔字面量,以便在最终捆绑包中获得正确的“树摇”(tree-shaking)效果。
这里的“树摇”(tree-shaking)是Webpack等现代JavaScript打包工具中的一个概念,它可以在打包过程中移除未使用的代码(即“摇掉”这些代码),从而减小最终生成的包的大小。
在这个上下文中,vue-i18n可能使用了某些特性标志(feature flag)来决定是否包含或排除某些代码块。如果你的打包工具能够识别这些特性标志并将其替换为布尔值(true或false),那么它就能更准确地判断哪些代码是需要的,哪些是可以“摇掉”的。
简而言之,这条消息是建议你配置你的打包工具,以便更好地进行代码优化和减小最终文件大小。
解决办法
我这里是vite项目中,解决办法如下:
在vite.config.js中配置如下:
export default defineConfig({
define: {__VUE_I18N_FULL_INSTALL__: true, __VUE_I18N_LEGACY_API__: true, __INTLIFY_PROD_DEVTOOLS__: false},
})
这位大佬写的很好:vue-i18n报黄问题