关于vue.js:reactvue国际化插件webpacki18nplugin

5次阅读

共计 955 个字符,预计需要花费 3 分钟才能阅读完成。

前言

目前国际化我的项目个别都须要开发者一一去实现,耗时耗力。webpack-i18n-plugin 次要解决了两个痛点问题:

  • 提取我的项目中的国际化资源文件

    在 webpack 中配置插件(webpack-i18n-plugin),即可提取出中文资源

  • 增加国际化代码

    增加 loader,批改编译代码,主动增加国际化办法$i18n,对源码无污染

该国际化插件可用于 vue,react 我的项目,具体应用办法如下:

装置

npm install webpack-i18n-plugin -D

react我的项目中 webpack 配置

// webpack.config.js

const i18nPlugin = require("webpack-i18n-plugin");

// 配置 loader
rules: [{test: /\.(j|t)sx?$/,
    loader: "webpack-i18n-plugin/loader",
    exclude: /node_modules/,
}],

// 配置 plugins
plugins: [
    ...
    new i18nPlugin(i18nConfig),
    ...
]

vue我的项目中 webpack 配置

// vue.config.js

const i18nPlugin = require("webpack-i18n-plugin");

chainWebpack: (config) => {

    // 配置 loader
    config.module.rule("i18n").test(/\.(t|j)sx?$/)
    .use("i18n-loader").loader("webpack-i18n-plugin/loader");

    // 配置 plugins
    config.plugin("i18n").use(i18nPlugin).tap((options) => {return [...options, i18nConfig];
    });
}

插件配置项i18nConfig

const i18nConfig = {
    // 国际化配置输入目录(可选)i18nDir: path.resolve(__dirname, "./i18n"),
    translation: {
        // 配置 en_US 语言包
        en_US: {source: [path.resolve(__dirname, "./ 翻译文件.xlsx")]
        },
        ...
    }
};
正文完
 0