react-itnt

这是基于 node 开发用于搜索文件内中文的工具,该工具目前支持搜索特定目录下的所有文件,并将匹配到的文件输出到 itnt_mainfest.json 内,下一步,我将会根据 rc-i18n 国际化方案去将匹配到的中文硬编码替换为 React 代码, coming soon...🎉

Usage no npm install needed!

<script type="module">
  import reactItnt from 'https://cdn.skypack.dev/react-itnt';
</script>

README

itnt

这是基于 node 开发用于搜索文件内中文的工具,该工具目前支持搜索特定目录下的所有文件,并将匹配到的文件输出到 itnt_mainfest.json 内,下一步,我将会根据 rc-i18n 国际化方案去将匹配到的中文硬编码替换为 React 代码, coming soon...🎉

使用指南

1. 配置脚本

字段 描述
entry ./directory 入口目录,默认为脚本执行的目录
extname js|jsx 要匹配的文件后缀
exclude_extname test.js|test2.jsx 要排除的文件后缀
output ./directory 输出 itnt_mainfest.json文件的目录,默认为脚本执行的目录
greed bool 是否开启贪婪模式,默认不开启

greed :
假如开启: 测试${test}代码 将匹配为一项: 测试${test}代码
假如关闭: ``` 测试${test}代码 将匹配为两项: 测试 代码 ````

在匹配 js 文件的时候,会自动忽略注释,只匹配实际生效代码。

我们有两种方式去设置配置选项:
命令行的优先级高于配置文件

  • .itnt_config.json

创建.itnt_config.json文件在脚本运行目录下,例如:

{
  "entry": "{your path}/entry-directory",
  "extname": "js|jsx|ts|tsx",
  "exclude_extname": "spec.js|some.jsx",
  "output": "{your path}/output-directory",
  "greed": true
}
  • 命令行

itnt entry={your path}/entry-directory extname=js|jsx|ts|tsx

该脚本会根据运行目录下的 .itnt_config.json 去获得运行配置,然后再根据 config 内的 output 输出 itnt_mainfest.json 文件,假如 output 为空,那么在运行目录下创建该文件。

生产文件 itnt_mainfest.json 示例

{
  "17a26a8a6a4772503ce1ea42596a2484": {
    "line": 1,
    "content": "图片已成功粘贴至 ${project.name} 项目中",
    "path": "/Users/huangwei/learn/itnt/test/index.js",
    "column": 0,
    "match": "图片已成功粘贴至"
  },
  "7d4fc45a38be1bff8afbd830f2159126": {
    "line": 1,
    "content": "图片已成功粘贴至 ${project.name} 项目中",
    "path": "/Users/huangwei/learn/itnt/test/index.js",
    "column": 37,
    "match": "项目中"
  },
  "e5d98149f4b61309b5670e85b8b29310": {
    "line": 2,
    "content": "测试文本",
    "path": "/Users/huangwei/learn/itnt/test/index.js",
    "column": 0,
    "match": "测试文本"
  },
}

  • line: 匹配行
  • content: 匹配行原内容
  • path:匹配文件路径
  • column: 匹配竖列
  • match: 匹配内容