簡體   English   中英

gulp-babel不會產生任何輸出文件或無法正常工作

[英]gulp-babel don't produce any output file or doesn't work properly

我正在研究JS庫, 我想將所有用ES6編寫的javascript代碼轉換為ES5標准 ,以便在當前瀏覽器中獲得更多支持。

問題是我想使用Babel和Gulp任務,所以我已經安裝了所有這些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-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 

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM