模拟element-ui 新增组件功能,减少重复工作。

67 阅读1分钟

本文参加了由公众号@若川视野 发起的每周源码共读活动,点击了解详情一起参与。

这是源码共读的第15期,链接:【若川视野 x 源码共读】第15期 | element 初始化组件功能

用到node相关

path

  • path.join 拼接路径
  • path.resolve 从右至左处理解析一个绝对路径

__dirname

当前文件夹的绝对路径

__filename

当前文件的绝对路径

fs

  • fs.readFileSync 同步读取文件
  • fs.readFile 异步读取文件

process.argv

获取命令行参数,返回结果是个数组

file-save

将数据传输到文件,文件不存在则新建文件。

例:

输入:
node process-args.js one two=three four
输出:
0: /usr/local/bin/node
1: /Users/mjr/work/node/process-args.js
2: one
3: two=three
4: four

新增文件

  • PackagePath 绝对路径
  • file.filename 文件相对路径
  • file.content 文件内容
fileSave(path.join(PackagePath, file.filename))
.write(file.content, 'utf8')
.end('\n');

读写文件

const elementTsPath = path.join(__dirname, '../../types/element-ui.d.ts');
// 不用此写法直接获取到的是buffer类型
let elementTsText = `${fs.readFileSync(elementTsPath)}`