Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

375
Vistas
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 Respuestas
Responde la pregunta

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 Denunciar

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 Denunciar

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 Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda