gpt4 book ai didi

javascript - 使用 Gulp 和 Babel 导入和转换 JS 文件

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:57:21 26 4
gpt4 key购买 nike

考虑以下文件:

//foo.js
(function(){
console.log('working');
})();

//bar.js
import 'foo.js';

现在我正在使用 gulp 从 ES6 编译到 ES5。这是相关任务:

gulp.task('build-js', function() {
return gulp.src('bar.js')
.pipe(babel({
presets: ['es2015']
}))
.pipe(gulp.dest('./dist'));
});

我的输出文件如下所示:

'use strict';
require('foo.js');

这不是我预期的结果。我希望使用 ES5 转换将所有代码导入到单个输出文件中。这样,单个 JS 文件就可以在浏览器中加载并正确运行。我需要做什么才能获得预期的结果?

由于 bar.js 仅导入 foo.js,因此输出文件应该与 foo.js 完全一样。此外,由于 foo.js 仅包含一个自执行函数,输出文件应立即执行此函数并将 working 记录到控制台。

最佳答案

如果您想为浏览器创建一个文件,您应该添加一个“捆绑”任务。看看 browserify 或 webpack。

http://browserify.org/ https://webpack.github.io/

您通常需要指定一个入口点, bundler 会解析所有依赖项并创建一个单独的 js 文件。

编辑:

gulp 的示例任务,使用 browserify:

var browserify = require('gulp-browserify');
gulp.task('bundle', function() {
gulp.src('./dist/bar.js') // entry point
.pipe(browserify())
.pipe(gulp.dest('./dist'))
});

关于javascript - 使用 Gulp 和 Babel 导入和转换 JS 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36527536/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com