react国际化插件使用总结

此次使用的是react-i18n-auto babel插件。

地址:react-i18n-auto

引言:react-i18n-auto 专门为React中文国际化提供的自动化方案(低维护成本),实现快速开发&迭代。

一、安装

npm install react-i18n-auto --save-dev

推荐环境:node8+,babel7+,webpack4+

二、添加 babel 插件配置(.babelrc 添加方式)

 {
  "presets": [
    "next/babel"
  ],
  "plugins": [
    ["@babel/proposal-decorators", { "legacy": true } ],
    "lodash",
    "@babel/plugin-transform-runtime",
    "module:react-i18n-auto",
    [
      "import",
      {
        "libraryName": "antd",
        "libraryDirectory": "lib"
      }
    ]
  ]
}

三、添加自动化配置 i18n.config.js

const plugin = require('react-i18n-auto')
const path = require('path')

plugin.config({

  // 必选配置项
  // src: path.resolve(__dirname, './pages'), //源文件目录 array|string
  src: [
    path.resolve(__dirname, './pages'), //源文件目录 array|string
    path.resolve(__dirname, './server'),
    path.resolve(__dirname, './components'),
    path.resolve(__dirname, './common'),
    
  ],
  outputPath: path.resolve(__dirname, './output'), //国际化配置输出目录
  excluded: /node_modules|output/, //排除文件选项(默认为:node_modules,及国际化配置输出目录)

  // 本地翻译文件,根据translation配置中的key生成不同的语言包
  translation: {
    en_US: {
      //翻译文件excel|js, array|string
      source: [
        path.resolve(__dirname, './output/en_US/english.xlsx'),
        path.resolve(__dirname, './output/en_US/en.js')
      ]
    }
  },

  //以下为可选配置项
  babelrc: true, //使用当前项目.babelrc配置

  //支持的后缀名
  extensions: [".js", ".jsx", ".tsx", ".ts"],

})

四、运行 node i18n.config.js 自动生成配置文件(每次打包前运行即可,生成最新配置)

在这里插入图片描述
在这里插入图片描述

记录碰到的几个问题。
1、npm ERR! code EINTEGRITY
解决方案:删除package-lock.json. 就可以了

2、Parsing error : Cannot find module ‘next/babel’
解决方案:npm install next@latest --save-dev

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值