Podczas próby użycia gulp-babel pojawia się następujący błąd:
Błąd: nie można znaleźć ustawienia wstępnego „es2015” względem katalogu „/ Users / username”
Mam ustawienie wstępne es2015 zainstalowane globalnie i lokalnie, więc nie rozumiem, dlaczego byłby to problem.
Poniżej znajduje się moja konfiguracja łyka i package.json.
var babel = require('gulp-babel');
var es2015 = require('babel-preset-es2015');
gulp.task('babel', function() {
return gulp.src('./app/main.js')
.pipe(babel({
presets: [es2015]
}))
.pipe(gulp.dest('dist'));
});
Package.json
"devDependencies": {
"babel-preset-es2015": "^6.3.13",
"babel-preset-es2015-node5": "^1.1.1",
"browser-sync": "^2.11.0",
"gulp": "^3.9.0",
"gulp-babel": "^6.1.1",
"gulp-stylus": "^2.2.0"
}
Używam węzła 5.1.0 i babel 6.4.0
Oto wyjście terminala
javascript
node.js
ecmascript-6
gulp
babeljs
Brian Douglas
źródło
źródło
presets
tablicy, na przykład['es2015']
, nie jestem pewienvar gulp = require('gulp');
.babelrc
plik w swoim katalogu domowym? Ponieważ właśnie tam szuka ustawienia wstępnego, oznacza to, że właśnie stąd pochodzi konfiguracja.Odpowiedzi:
Wystarczy zainstalować
babel-preset-es2015
:Przykład użycia CLI:
źródło
„es2015” w:
.pipe(babel({ presets: ['es2015'] }))
jest w rzeczywistości ścieżką - więc jeśli nie masz ustawienia wstępnego w katalogu / Users / username / es2015, musisz wskazać go dokładnie, na przykład:
.pipe(babel({ presets: ['../../gulp/node_modules/babel-preset-es2015'] }))
to działało dla mnie
źródło
Aby rozwiązać ten problem, należy usunąć plik .babelrc (ukryty) z katalogu „/ Users / username”.
źródło
Właśnie użyłem dokładnie tego pliku gulpfile.js
var babel = require('gulp-babel'); var es2015 = require('babel-preset-es2015'); var gulp = require('gulp'); gulp.task('babel', function() { return gulp.src('./app/main.js') .pipe(babel({ presets: [es2015] })) .pipe(gulp.dest('dist')); });
i to zadziałało dla mnie. I tylko zainstalowane
babel
,babel-preset-es2015
igulp-babel
.źródło
babel-preset-es2015
Wyraźne ładowanie, jak pokazano tutaj, rozwiązało mój problem.Sprawdź, czy masz plik .babelrc w folderze głównym projektu. Jeśli nie, utwórz plik .babelrc i dodaj:
{ "presets": ["es2015"] }
To rozwiązało problem.
źródło
Możesz spróbować zainstalować
es2015
istage-2
za pośrednictwemnpm i babel-preset-es2015 --save npm i babel-preset-stage-2 --save
źródło
Napotkałem ten sam problem, ponieważ miałem
.babelrc
plik w katalogu głównym mojego katalogu.Aby to naprawić, dodaj
babelrc: false
wewnątrz opcji babel:var babel = require('gulp-babel'); gulp.task('babel', function() { return gulp.src('./app/main.js') .pipe(babel({ babelrc: false, presets: ['babel-preset-es2015'] })) .pipe(gulp.dest('dist')); });
źródło
.babelrc
plik w moim katalogu głównym i to był problem. konfiguracjababelrc: false
wydaje się nie działać, ale kiedy usuwam wszystko działa!Miałem ten sam problem, a ta druga sugestia pomogła mi dostrzec mój problem i może to też twój.
I
npm install gulp-babel-es2015
wtedy nie obejmują go w gulpfile wcale.Wtedy
babel({presets: ['es2015']})
opcja to po prostu ciąg, jak pokazano w przykładach tutaj https://www.npmjs.com/package/gulp-babel .Oto mój plik łykowy.
var gulp = require('gulp'), babel = require('gulp-babel'); gulp.task('babelify', () => { gulp.src('js/*.js') .pipe(babel({ presets: ['es2015'] })) .pipe(gulp.dest('alljs')); }); gulp.task('default', ['babelify']);
Również od tego wydania tutaj https://github.com/laravel/elixir/issues/354
Sugestie są takie, że powinieneś zaktualizować węzeł do wersji 5.xx i npm do 3.xx
źródło
Sytuacja, w której napotykam ten problem, polega na tym, że przeniosłem pliki z
xxx
doxxx/server
. A potem podxxx/server
zobaczęError: Couldn't find preset "es2015" relative to directory "/Users/username/xxx"
błąd. Prawdziwym powodem jest to, że zapomniałem przenieść ten.babelrc
plik podxxx
. A kiedy przeniosę to.babelrc
doxxx/server
, błąd znika.źródło
Po prostu miałem naprawdę dziwny. Zainstalowałem wszystkie narzędzia Babel jednym dużym, długim
npm install
poleceniem i wszystko zostało zainstalowane bez błędów ... z wyjątkiem tego, że wyrzucał błąd udokumentowany w tym wątku w czasie wykonywania.Zauważyłem, że wersja to 0.0.0 w pliku package.json, więc uruchomiłem
npm install --save-dev babel-preset-es2015
ponownie i zadziałało i umieściłem DRUGI klucz w moim pliku package.json:"devDependencies": { "babel-cli": "^6.24.1", "babel-core": "^6.24.1", "babel-polyfill": "^6.23.0", "babel-preset-es2015": "^6.24.1", "babel-preset-es2015": "0.0.0", "babel-preset-stage-2": "^6.24.1", "eslint": "^3.19.0" }
Właśnie usunąłem nieudany wpis i wyjaśniłem ten
relative to directory
błąd.źródło
Mój problem polegał na tym, że inny program używał pliku zaangażowanego w proces kompilacji (prawdopodobnie .babelrc). Zamknięcie kilku aplikacji rozwiązało mój problem.
Dla mnie był to Dropbox lub nawet edytor Brackets z rozszerzeniem eqFTP.
Pozdrowienia
źródło
Aktualizacja Babel 7
Z dokumentów, których powinieneś teraz używać
@babel/preset-env
zamiast innychpreset
wzmianeklub
źródło