我正在使用 babel、mavenangular 1.5
和es6
. 遇到了转译器的概念,将es6
内部编写的es5
代码转换为浏览器向后兼容的代码。想知道转译器(如babel
)何时将ecmascript6
代码更改为ecmascript5
代码?
问问题
219 次
2 回答
3
我不确定我是否理解你的问题。如果你像这样安装 babel:
npm install -g babel-cli
您可以通过运行转译您的代码:
babel script.js --out-file script-compiled.js
如果你像这样使用 gulp:
var gulp = require("gulp");
var babel = require("gulp-babel");
gulp.task("default", function () {
return gulp.src("src/js/*.js")
.pipe(babel())
.pipe(gulp.dest("dist/js"));
});
它会转译您的代码并将其保存到dist/js
.
如果您愿意,您还可以定义一个 gulp watch,以便您的代码在保存后立即转译:
var paths = {
babel: './somedir'
}
gulp.task('babel', function() {
return gulp.src(paths.babel)
.pipe(babel())
.pipe(gulp.dest('./'))
})
gulp.task('watch', function() {
gulp.watch(paths.babel, ['babel'])
})
如果您运行 gulp watch 任务,它会自动等到文件更改,然后立即转换它们。
编辑(在问题得到澄清后):
一般来说,您应该在发送任何请求之前转译您的 javascript 文件。当然可以在每个 http 请求上转换代码,但这将是非常低效的。所以我肯定会建议只转译一次并保存转译后的文件,以便所有客户端都可以使用它们。
于 2017-01-18T09:53:34.377 回答
0
当您在服务器上编译代码时。它从 es6 转换为 es5。
于 2017-01-24T19:20:37.010 回答