При попытке использовать gulp-babel я получаю следующую ошибку:
Ошибка: не удалось найти предустановку "es2015" относительно каталога "/ Пользователи / имя пользователя"
У меня предустановка es2015 установлена глобально и локально, поэтому я не понимаю, почему это может быть проблемой.
Ниже приведены мои настройки gulp и 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"
}
Я использую node v5.1.0 и babel v6.4.0
Вот вывод терминала
javascript
node.js
ecmascript-6
gulp
babeljs
Брайан Дуглас
источник
источник
presets
массиве, например['es2015']
, я не совсем уверенvar gulp = require('gulp');
.babelrc
файл в вашем домашнем каталоге? Поскольку именно здесь он ищет предустановку, это означает, что конфигурация исходит именно отсюда.Ответы:
Вам нужно всего лишь установить
babel-preset-es2015
:Пример использования CLI:
источник
"es2015" в:
.pipe(babel({ presets: ['es2015'] }))
на самом деле является путем, поэтому, если у вас нет предустановки в каталоге / Users / username / es2015, вы должны указать именно на него, например:
.pipe(babel({ presets: ['../../gulp/node_modules/babel-preset-es2015'] }))
это сработало для меня
источник
Чтобы решить эту проблему, вы должны удалить файл .babelrc (скрытый) из каталога «/ Users / username».
источник
Я просто использовал именно этот 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')); });
и это сработало для меня. Я только установил
babel
,babel-preset-es2015
иgulp-babel
.источник
babel-preset-es2015
явно, как показано здесь, решила мою проблему.Проверьте, есть ли у вас файл .babelrc в корневой папке вашего проекта. Если нет, создайте файл .babelrc и добавьте следующее:
{ "presets": ["es2015"] }
Это устранило проблему.
источник
Вы можете попробовать установить
es2015
иstage-2
черезnpm i babel-preset-es2015 --save npm i babel-preset-stage-2 --save
источник
Я столкнулся с той же проблемой, потому что у меня был
.babelrc
файл в корне моего каталога.Чтобы исправить это, добавьте
babelrc: false
в параметры 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')); });
источник
.babelrc
файл в своем корне, и это была проблема. конфигурацияbabelrc: false
кажется не работает, но когда я удаляю все работает!У меня была такая же проблема, и это второе предложение помогло мне заметить мою проблему и, возможно, она ваша тоже.
npm install gulp-babel-es2015
Тогда я вообще не включил его в gulpfile.Тогда
babel({presets: ['es2015']})
опция - это просто строка, как показано в примерах здесь https://www.npmjs.com/package/gulp-babel .Вот мой файл gulpfile.
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']);
Кроме того, начиная с этой проблемы здесь https://github.com/laravel/elixir/issues/354
Предлагается обновить node до версии 5.xx и npm до 3.xx
источник
Ситуация, когда я сталкиваюсь с этой проблемой, заключается в том, что я переместил файлы из
xxx
вxxx/server
. И тогдаxxx/server
я увижуError: Couldn't find preset "es2015" relative to directory "/Users/username/xxx"
ошибку. Настоящая причина в том, что я забыл переместить этот.babelrc
файл в папкуxxx
. И после того, как я перейду.babelrc
наxxx/server
, ошибка исчезнет.источник
Просто у меня был очень странный. Я установил все инструменты babel одной большой длинной
npm install
командой, и все было установлено без ошибок ... за исключением того, что во время выполнения возникала ошибка, задокументированная в этом потоке.Я заметил, что версия была 0.0.0 в файле package.json, поэтому я запустил
npm install --save-dev babel-preset-es2015
снова, и он сработал и поместил ВТОРОЙ ключ в мой файл 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" }
Я просто удалил ошибочную запись, и это устранило эту
relative to directory
ошибку.источник
Моя проблема заключалась в том, что другая программа использовала файл, участвующий в процессе компиляции (вероятно, .babelrc). Закрытие нескольких приложений решило мою проблему.
Для меня это был Dropbox или даже редактор скобок с расширением eqFTP.
приветствия
источник
Babel 7 обновить
Из документации вы должны теперь использовать
@babel/preset-env
вместо любого другогоpreset
упоминанияили же
источник