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

时间:2018-10-01 21:52:11

标签: javascript npm gulp transpiler gulp-babel

我正在使用JS库,并且我希望将用ES6编写的所有javascript代码转换为ES5标准,以在当前的浏览器中获得更多支持。

问题是我想在Balp任务中使用Babel,所以我已经安装了所有这些NPM软件包[id 'net.ltgt.apt' version '0.15' ]:

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'... 函数,结果是一样的,什么都没有!

1 个答案:

答案 0 :(得分:5)

出于种种原因,当我在终端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上的此注释的,意识到这一点使我头疼很多:

Install guide (gulp-babel on GitHub)

  

安装

     

如果要获取下一版本的预发行版,请安装gulp-babel   gulp-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