【发布时间】:2016-03-09 18:31:03
【问题描述】:
你使用什么流程来开发 Babel 6 插件?
这是我想出的开发插件 (babel-plugin-test):
1) 在空文件夹中运行:
npm install babel-cli babel-preset-es2015
2) 创建文件src/test.js(用于测试插件):
class Person {
}
3) 使用以下内容创建文件夹node_modules/babel-plugin-test
node_modules/babel-plugin-test/package.json
{
"name": "babel-plugin-test",
"version": "0.1.0",
"main": "lib/index.js",
"dependencies": {
"babel-runtime": "^5.0.0"
},
"devDependencies": {
"babel-helper-plugin-test-runner": "^6.3.13"
}
}
node_modules/babel-plugin-test/src/index.js
export default function ({types: t }) {
return {
visitor: {
ClassDeclaration: function (node, parent) {
console.log("XXX");
}
}
};
}
4) 创建一个运行的脚本:
node_modules/babel-plugin-test/babel --presets es2015 --out-dir lib src
babel --plugins babel-plugin-test --presets es2015 --out-dir out src
所以它编译插件,然后使用插件编译test.js,我看到控制台日志和输出文件(在这个例子中我没有改变任何东西)。
必须有更好的方法来做到这一点。或许可以通过某种方式使用 WebStorm 或其他 Node 调试器来放置断点并进行播放(至少能够检查变量)。
【问题讨论】:
标签: babeljs