@babel/register 实时编译转码原理

王二傻

@babel/register 实时编译转码原理

  1. 使用第三方库 pirates(海盗) 给NodeJS的reuqire增加钩子Hook,自定义了require函数
  2. 将require内容交给 @babel/core transform(code, opts) 转码处理

pirates requier Hook的原理

const Module = require('module');

Module._extensions['.js'] = (mod, filename) => {
  mod._compile('console.log("这是编译后的内容了");', filename);
  mod.exports = {a: 123};
};

console.log(require('./build.js'));
阅读 188

高明
一周至少一篇,加油~

Front-end, PHPer

18 声望
0 粉丝
0 条评论

Front-end, PHPer

18 声望
0 粉丝
宣传栏