Recebo o seguinte erro ao tentar usar o gulp-babel:
Erro: não foi possível encontrar a predefinição "es2015" relativa ao diretório "/ Usuários / nome de usuário"
Tenho a predefinição es2015 instalada globalmente e localmente, então não consigo ver por que isso seria um problema.
Abaixo está meu gulp set up e 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"
}
Estou usando o node v5.1.0 e o babel v6.4.0
Aqui está a saída do terminal
javascript
node.js
ecmascript-6
gulp
babeljs
Brian Douglas
fonte
fonte
presets
array, tipo['es2015']
, não tenho muita certezavar gulp = require('gulp');
.babelrc
arquivo em seu diretório inicial? Visto que é de onde ele está procurando o preset, isso significa que é daí que vem a configuração.Respostas:
Você só precisa instalar
babel-preset-es2015
:Exemplo de uso da CLI:
fonte
o "es2015" em:
.pipe(babel({ presets: ['es2015'] }))
é na verdade um caminho - então, se você não tiver a predefinição no diretório / Usuários / nome de usuário / es2015, você deve apontar exatamente para ele, como por exemplo:
.pipe(babel({ presets: ['../../gulp/node_modules/babel-preset-es2015'] }))
funcionou para mim
fonte
Para corrigir esse problema, você deve remover o arquivo .babelrc (oculto) do diretório "/ Users / username".
fonte
Acabei de usar exatamente este 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')); });
e funcionou para mim. Eu só instalado
babel
,babel-preset-es2015
egulp-babel
.fonte
babel-preset-es2015
explicitamente conforme mostrado aqui resolveu meu problema.Verifique se você possui o arquivo .babelrc na pasta raiz do seu projeto. Caso contrário, crie o arquivo .babelrc e adicione o seguinte:
{ "presets": ["es2015"] }
Ele corrigiu o problema.
fonte
Você pode tentar instalar
es2015
estage-2
vianpm i babel-preset-es2015 --save npm i babel-preset-stage-2 --save
fonte
Eu encontrei o mesmo problema porque eu tinha um
.babelrc
arquivo na raiz do meu diretório.Para corrigir esse acréscimo
babelrc: false
nas opções do 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')); });
fonte
.babelrc
arquivo na minha raiz e esse era o problema. a configuraçãobabelrc: false
parece não funcionar, mas quando excluo tudo funciona!Eu tive o mesmo problema, e essa segunda sugestão me ajudou a perceber o meu problema e talvez seja o seu também.
Eu
npm install gulp-babel-es2015
então não incluí-lo no gulpfile em tudo.A
babel({presets: ['es2015']})
opção é apenas uma string, conforme mostrado nos exemplos aqui https://www.npmjs.com/package/gulp-babel .Aqui está meu 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']);
Além disso, a partir desta edição aqui, https://github.com/laravel/elixir/issues/354
As sugestões são: você deve atualizar o nó para a versão 5.xx e npm para 3.xx
fonte
A situação em que encontro esse problema é que movi os arquivos de
xxx
paraxxx/server
. E então, abaixoxxx/server
, verei oError: Couldn't find preset "es2015" relative to directory "/Users/username/xxx"
erro. O verdadeiro motivo é que esqueci de mover esse.babelrc
arquivo para baixoxxx
. E depois que movo.babelrc
paraxxx/server
, o erro desaparece.fonte
Eu só tive um muito estranho. Instalei todas as ferramentas do babel com um grande e longo
npm install
comando, e tudo foi instalado sem erros ... exceto que estava jogando o erro documentado neste tópico, em tempo de execução.Notei que a versão era 0.0.0 no arquivo package.json, então executei
npm install --save-dev babel-preset-es2015
novamente e funcionou e coloquei uma SEGUNDA chave no meu arquivo 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" }
Acabei de remover a entrada malfeita e ele corrigiu este
relative to directory
erro.fonte
Meu problema era que outro programa estava usando um arquivo envolvido no processo de compilação (provavelmente o .babelrc). Fechar vários aplicativos resolveu meu problema.
Para mim era Dropbox ou mesmo Editor de colchetes com extensão eqFTP.
saudações
fonte
Atualização do Babel 7
Dos documentos, você deve usar agora em
@babel/preset-env
vez de qualquer outrapreset
mençãoou
fonte