Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

376
Visualizações
Karma, PhantomJS y promesas es6

Estoy escribiendo una biblioteca de JavaScript que usa las nuevas promesas de es6. Puedo probar la biblioteca en Firefox porque las promesas están definidas. Sin embargo, cuando trato de probar mi código con Karma y PhantomJS, aparece el error Can't find variable: Promise. . Supongo que esto se debe a que el navegador PhantomJS aún no es compatible con las promesas de es6.

¿Cómo puedo configurar Karma para traer el polyfill para promesas?

over 4 years ago · Santiago Trujillo
3 Respostas
Responde à pergunta

0

Puede extraer el polyfill de Babel simplemente instalando Babel Polyfill :

 npm install --save-dev babel-polyfill

y luego incluya el archivo polyfill antes de su fuente y pruebe los archivos dentro de la sección de files de su karma.conf.js :

 files: [ 'node_modules/babel-polyfill/dist/polyfill.js', 'index.js', //could be /src/**/*.js 'index.spec.js' //could be /test/**/*.spec.js ],

A menos que sepa que todos sus navegadores de destino son compatibles con Promises, probablemente también desee aplicar este polyfill a su compilación publicada.

Si se siente realmente aventurero, puede usar Browserify para extraer archivos para que sus pruebas sean más modulares y luego usar Babelify para transpilar ES6 a ES5. Creé un proyecto de muestra con estos y una prueba de trabajo que involucra una Promesa (que se ejecuta en PhantomJS2) como referencia .

over 4 years ago · Santiago Trujillo Relatório

0

Para Babel 6, necesitamos instalar babel-polyfill para respaldar la promesa.

npm install --save-dev babel-polyfill

y agregue una línea en karma.conf.js dentro de la sección de files

 files: [ 'node_modules/babel-polyfill/dist/polyfill.js', .... ]

Está bien documentado en https://github.com/babel/karma-babel-preprocessor#polyfill

over 4 years ago · Santiago Trujillo Relatório

0

como correctamente señaló el autor, no es capaz de reconocer la promesa de es6. Para cargarlo, el módulo es6-promise se puede cargar con la ayuda de webpack.ProvidePlugin y configurarlo dentro de la matriz de complementos de webpack.

 plugins: [ new webpack.ProvidePlugin({ 'Promise': 'es6-promise' }) ]

¡Esto parece funcionar para mí!

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda