问题

在客户要求下要将项目中中英文切换,英文要以英文单词首字母大写为准。可是前期开发人员并没有规范。 多以这种:

 "headerFontColor":"top font MAV Mac /MAC(V)",

存在,可是emmmmm…一个一个修改,必si。

方法 1

去看了vue-i18n 官网,找到formatter可实现。
实践:

// 实现自定义格式
class CustomFormatter {constructor (options) {}//  英文处理upperCase(text) {return text.replace(/\b([\w|']+)\b/g, function(result) {let lowText = result.toLowerCase()return lowText.replace(lowText.charAt(0), lowText.charAt(0).toUpperCase());});}interpolate (message, values) {// 返回插值数组return [ this.upperCase(message)]}
}
const i18n = new VueI18n({locale:utils.getCookie('language')?utils.getCookie('language'):'zh',formatter: new CustomFormatter(),messages:messages,
});

方法 2

使用loader。

  1. 创建文件夹rules 管理自定义的loader
  2. 在rules创建文件夹diy-loader,并在diy-loader文件夹创建index.js(编写处理文件代码)
// 获取loader 中Options 配置
let loaderUtil = require('loader-utils')function upperCase(text) {return text.replace(/\b([\w|']+)\b/g, function(result) {let lowText = result.toLowerCase()return lowText.replace(lowText.charAt(0), lowText.charAt(0).toUpperCase());});
}function upperCaseByJson(jsonData) {let keys = Object.keys(jsonData)for (let item in jsonData) {if (jsonData[item] instanceof  Object) {upperCaseByJson(jsonData[item])} else  {jsonData[item] =  upperCase(jsonData[item])}}
}module.exports = function (source) {const  options = loaderUtil.getOptions(this) || {}let  sourceJson, startVal,startTime = new Date().getTime()console.log('自定义loader source', startTime)// loader 中test 校验的文件 数据(source)if (source && source.split('=').length >= 2 ) {startVal =  source.split('=')[0]sourceJson = JSON.parse(source.split('=')[1])upperCaseByJson(sourceJson)}console.log('自定义loader source',new Date().getTime() - startTime )source =  startVal + '=' + JSON.stringify(sourceJson)return   source
}

3.在 webpack.config.js 加载自定义loader


resolveLoader: {modules: [path.resolve(__dirname,'./rules'),'node_modules' // npm 加载的loader]},module: { // 处理对应模块rules: [// 处理自定义{test: /\.en\.json$/,loader:'diy-loader',include: [path.resolve(__dirname,'./src/assets/i18n')]}]

测试。

webpack ——自定义Loader,将i18n英文单词首字母转大写相关推荐

  1. python将变量a全部变成大写字母_每天一个Python知识点:只用一招就将所有的英文单词首字母变成大写...

    摘要: 将英文单词首字母变成大写是一个古老的话题,很常用,也很简单.不过如何用更简单的方式批量完成这个工作,则有很多学问,不想来看看吗! 将英文单词首字母变成大写是非常常用的文本操作,使用capita ...

  2. Python将所有的英文单词首字母变成大写

    将英文单词首字母变成大写是非常常用的文本操作,使用capitalize方法可以将一个英文单词的首字母变成大写. 将英文单词首字母变成大写是非常常用的文本操作,使用capitalize方法可以将一个英文 ...

  3. 《Word中设置英文单词首字母不自动变为大写》

    Word中设置英文单词首字母不自动变为大写:选项->校对->自动更正选项->自动更正->句首字母大写的勾选取消.

  4. C++ 编程中常用的英文单词(首字母是O、P、R开头)

    学习编程不一定需要英语水平很高,能记住认识一些常用的英文单词也可以,有看不明白的文档资料也可以使用翻译工具,编写代码时大部分好用的IDE都是有代码提示的.本文主要介绍C++语言编程中常用的英语单词. ...

  5. C++ 编程中常用的英文单词(首字母是G、H、I开头)

    学习编程不一定需要英语水平很高,能记住认识一些常用的英文单词也可以,有看不明白的文档资料也可以使用翻译工具,编写代码时大部分好用的IDE都是有代码提示的.本文主要介绍C++语言编程中常用的英语单词. ...

  6. Java编程之英文单词首字母大写

    一.题目 输入一段英文句子,将每个单词的首字母大写再输出.示例: 输入:I am very glad to see you. 输出:I Am Very Glad To See You. 二.实验代码 ...

  7. Java 首字母转大写,StringUtils.capitalize

    ================================ ©Copyright 蕃薯耀 2022-08-31 ​​​​​​蕃薯耀的博客_CSDN博客-蕃薯耀分享,java,js领域博主 一.首 ...

  8. C语言程序——首字母变大写

    [问题描述]首字母变大写:输入一个英文句子,将每个单词的第一个字母改成大写字母. [输入形式]一个长度不超过100的英文句子 [输出形式]按照要求改写后的英文句子,每个单词的首字母大写 [样例输入]i ...

  9. 使用Python,将字符串的首字母变为大写,其余都变为小写

    利用map()函数,把用户输入的不规范的英文名字,变为首字母大写,其他小写的规范名字. 思路:使用capitalize()函数将字符串的首字母转为大写,其余变为小写 L1 = ['AdmIn','an ...

  10. 1165: 零起点学算法72——首字母变大写

    1165: 零起点学算法72--首字母变大写 Time Limit: 1 Sec  Memory Limit: 64 MB   64bit IO Format: %lld Submitted: 705 ...

最新文章

  1. iredmail 邮件服务器搭建
  2. python好找工作吗2017-记2017年年底,几次Python后端面试
  3. 拓展小知识(一)——使用 CSS 和 JS 加载阿里小图标
  4. 涨姿势 | 服务重启后,为什么发生抖动?
  5. python绘图函数教程_OpenCV中的绘图函数
  6. opc服务器组态文件已写保护_远程组态软件不仅方便了PLC无线远程监控,也大大降低了工程成本...
  7. ios中解决图片渲染问题
  8. Jsoup的简易使用示例
  9. CVPR2020 | 虚拟举办,这29个教程Tutorial 不容错过!
  10. Spark源码分析之BlockManager
  11. Bash Shell 注释多行的几种方法(转)
  12. matlab计算macd_matlab计算MACD指标
  13. 20190829:(leetcode习题)环形链表
  14. # 20155224 第十一周 课堂练习《计算后缀表达式的值》
  15. Mysql生产环境表更新方案_生产环境中,数据库升级维护的最佳解决方案flyway
  16. laravel 图片上传 intervention/image
  17. 在玩图像分类和图像分割?来挑战基于 TensorFlow 的图像注解生成!
  18. Atitit.实现继承的原理and方法java javascript .net c# php ...
  19. 少儿编程家长疑问解答
  20. 第四章——数据库安全性

热门文章

  1. CCF CSP认证JAVA(一)
  2. 【技术美术图形部分】纹理基础2.0-凹凸映射
  3. 传感器实验——SHT20温湿度传感器
  4. 广东百望税控盘初始化设置
  5. 前端第四天 盒子模型/浮动与定位
  6. 华为研发机试题目集合整理
  7. Twaver-HTML5基础学习(7)Layer图层元素
  8. vue前端上传文件夹的插件_vue文件上传插件
  9. uniApp中图片文件上传插件(uniFilePicker)
  10. Windows常用cmd命令总结