gulp-babel 不生成任何输出文件或无法正常工作



我正在开发一个JS库,我想将所有用ES6编写的javascript代码转换为ES5标准,以便在当前浏览器中获得更多支持。

问题是我想在 Gulp 任务中使用 Babel,所以我安装了所有这些 NPM 包 [package.json]:

"devDependencies": {
"@babel/core": "^7.1.2",
"@babel/preset-env": "^7.1.0",
"babel-cli": "^6.26.0",
"gulp": "^3.9.1",
"gulp-babel": "^8.0.0",
"gulp-concat": "^2.6.1",
"gulp-sourcemaps": "^2.6.4",
"gulp-terser": "^1.1.5"
}

接下来,我的.babelrc文件包含以下内容:

{
"presets": ["env"]
}

gulpfile.js写如下:

const gulp = require('gulp');
const sourcemaps = require('gulp-sourcemaps');
const babel = require('gulp-babel');
const concat = require('gulp-concat');
const terser = require('gulp-terser');
gulp.task('minify', function () {
return gulp.src('src/app/classes/*.js')
.pipe(sourcemaps.init()) 
.pipe(babel())     // I do not pass preset, because .babelrc do exist
.pipe(concat('output.js'))   
.pipe(sourcemaps.write('.'))   
.pipe(gulp.dest('build/js'))
});
gulp.task('default', ['minify']);

问题是当我在项目根目录上执行gulp命令时,它不会生成输出文件。控制台显示执行成功,但目录中build/js或项目的另一个目录中不显示任何内容。

#user1:/project-route$> gulp
[17:36:54] Using gulpfile /project-route/gulpfile.js
[17:36:54] Starting 'minify'...

我也尝试了没有sourcemaps函数,结果是一样的,没什么!!

出于扩展原因,当我在终端babel -V中执行时,结果是:

#user1:/project-route$> gulp
6.26.0 (babel-core 6.26.3)

这与我安装的版本(我记得(不同:

"@babel/core": "^7.1.2", 
"@babel/preset-env": "^7.1.0",

所以,我卸载了所有这些依赖项:

"@babel/core": "^7.1.2",
"@babel/preset-env": "^7.1.0",
"gulp-babel": "^8.0.0",

我安装了这个替换:

"babel-core": "^6.26.3",
"babel-preset-env": "^1.7.0",
"gulp-babel": "^7.0.1",

所有功能现在都可以工作!!


当然,解释是针对 gulp-babel 插件 README.md 的这个注释,意识到这件事让我头疼不已:

安装指南(GitHub上的gulp-babel(

安装

如果要获取下一个的预发行版,请安装gulp-babelgulp-babel的版本 .

# Babel 7
$ npm install --save-dev gulp-babel @babel/core @babel/preset-env
# Babel 6
$ npm install --save-dev gulp-babel@7 babel-core babel-preset-env

相关内容

  • 没有找到相关文章

最新更新