babel内置一个cli,可通过命令行操作编译文件
首先要安装: npm i --save-dev babel-cli
babel-cli分为两部分:babel 和 babel-node
babel命令只会编译文件代码而不会执行代码
执行需要编译的文件:
文件script.js:
let fn = () => {console.log('babel cli')};
fn();
命令行执行:
npx babel script.js
# 输出 var fn = function fn(){console.log('babel cli')}; fn();
输出编译结果到单个文件:
npx babel script.js --out-file script-compiled.js
监测文件的修改同时编译:
npx babel script.js --watch --out-file script-compiled.js
编译整个src文件夹目录并将其输出到lib目录:
npx babel src --out-dir lib
编译整个src文件夹目录并将其输出到单个文件:
npx babel src --out-file script-complied.js
编译src目录的时候忽略test和spec文件:
npx babel src --out-dir lid --ignore test.js,spec.js
编译的时候使用plugins和presets:
npx babel script.js --plugins=transform-runtime
npx babel script.js --presets=es2015,stage-2
忽略 .babelrc 的配置:
npx babel --no-babelrc script.js
babel-cli提供另一个cli即babel-node,可以直接在命令行执行代码,babel-node与node cli的功能相同,只是会在node执行文件之前先编译es6等代码。
编译并运行script.js:
文件script.js: let fn = () => {console.log('babel-node')}; fn(); 命令行执行: npx babel-node script.js # 输出 babel-node
不建议在生产环境中使用babel-node,因为编译中的缓存数据存储在内存中,造成不必要的内存占用。而整个应用程序需要及时编译,会一直面临应用启动的性能问题。