Ответ 1
Вам нужно установить babel-preset-es2015
:
Пример использования CLI:
npm install babel-cli babel-preset-es2015
При попытке использовать gulp -babel:
появляется следующая ошибка:Ошибка: не удалось найти предустановленный "es2015" относительно каталога "/Users/имя пользователя"
У меня есть предустановка 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
Вот вывод терминала
Вам нужно установить babel-preset-es2015
:
Пример использования CLI:
npm install babel-cli babel-preset-es2015
"es2015" в:
.pipe(babel({
presets: ['es2015']
}))
- это фактически путь, поэтому, если у вас нет предустановки в каталоге /Users/username/es 2015, вы должны указать именно на него, например:
.pipe(babel({
presets: ['../../gulp/node_modules/babel-preset-es2015']
}))
это сработало для меня
Я просто использовал этот точный 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
.
Я столкнулся с той же проблемой, и это произошло потому, что у меня был файл .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'));
});
У меня была такая же проблема, и это второе предложение помогло мне заметить мою проблему и, возможно, это тоже твоя.
I npm install gulp-babel-es2015
затем не включил его в файл gulp вообще.
Тогда параметр 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']);
Чтобы устранить эту проблему, вы должны удалить файл .babelrc(hidden) из каталога "/Users/username".
Проверьте, есть ли файл .babelrc в корневой папке вашего проекта. Если не создать файл .babelrc и добавить следующее:
{
"presets": ["es2015"]
}
Он исправил проблему.
У меня просто был очень странный. Я установил все инструменты babel с помощью одной большой длинной команды npm install
, и все было установлено без ошибок... кроме того, что она запускала ошибку, зарегистрированную в этом потоке, во время выполнения.
Я заметил, что версия была 0.0.0 в файле package.json, поэтому я снова запустил npm install --save-dev babel-preset-es2015
, и он сработал и поместил ключ SECON в файл 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
.