// Babel 5
export default function ( {Plugin, types: t} ) {
return new Plugin('ast-transform', {
visitor: { ... }
});
}
// Babel 6
export default function ( { types: t} ) {
return {
visitor: { ... }
};
}
npm install
//index.js
console.log('Hello World!');
//register.js
require("babel-register");
require("./index.js");
node register.js
注:生产环境不适用
{
"scripts": {
//"script-name": "node index.js"
"script-name": "babel-node index.js"
}
}
command:
注:生产环境不适用
var babel = require("babel-core");
babel.transform("code();", options);
// => { code, map, ast }
babel.transformFile("filename.js", options, function(err, result) {
result; // => { code, map, ast }
});
babel.transformFileSync("filename.js", options);
// => { code, map, ast }
//.babelrc
{
"presets": [],
"plugins": []
}
//or package.json
{
...
"babel":{
"presets": [],
"plugins": []
}
}
{
"presets": [
"es2015",
"react",
"stage-2"
],
"plugins": []
}
{
"plugins": [
"transform-es2015-classes",
"transform-es2015-arrow-functions"
]
}
{
"plugins": [
//"transform-es2015-classes"
["transform-es2015-classes", { "loose": true }]
]
}
扩展—— Babel 6 loose
{
"presets": ["es2015"],
"plugins": [],
"env": {
"development": {
"plugins": [...]
},
"production": {
"plugins": [...]
}
}
}
env
: process.env.BABEL_ENV
or process.env.NODE_env
//webpack.config.js
var path = require('path');
···
module.exports = {
···
module: {
loaders: [
{
loader: 'babel-loader',
test: path.resolve(__dirname, 'js'),
query: {
presets: ['es2015'],
},
}
]
},
···
};
扫码关注腾讯云开发者
领取腾讯云代金券
Copyright © 2013 - 2025 Tencent Cloud. All Rights Reserved. 腾讯云 版权所有
深圳市腾讯计算机系统有限公司 ICP备案/许可证号:粤B2-20090059 深公网安备号 44030502008569
腾讯云计算(北京)有限责任公司 京ICP证150476号 | 京ICP备11018762号 | 京公网安备号11010802020287
Copyright © 2013 - 2025 Tencent Cloud.
All Rights Reserved. 腾讯云 版权所有