Использование babel-polyfill с grunt и browserify

Моя система сборки grunt транспилирует мой javascript (который также использует реакцию). К сожалению, он не транспилирует Promises. Для этого мне нужен полифилл. Я хочу включить babel-polyfill в свою систему сборки grunt. Моя система сборки использует browserify вместе с babelify и пресетом es2015.

Как мне включить babel-polyfill в микс?

Вот что у меня есть...

Внутри gruntfile.js я использую browserify

browserify: {
  dist: {
    options: {
      watch: true,
      transform: [["babelify", {presets: ['es2015', 'react']}], ["envify", {NODE_ENV: 'development'}]]
    },
    files: {
      'dist/js/app.js' : 'src/js/main.js'
    }
  },
  build: {
    options: {
      transform: [["babelify", {presets: ['es2015', 'react'], compact: true }], ["envify", {NODE_ENV: 'production'}]]
    },
    files: {
      'dist/js/app.js' : 'src/js/main.js'
    }
  }
},

Вот мой файл babelrc

{
 "presets": [ "react", "es2015" ]
}

Спасибо!


person Captainlonate    schedule 17.06.2016    source источник


Ответы (1)


Предполагая, что babel-polyfill включен в качестве зависимости, в верхней части файла ввода 'src/js/main.js' добавьте строку:

import "babel-polyfill";

Не нужно ничего делать в вашем GruntFile.js

person ness-EE    schedule 17.08.2017
comment
Как вы думаете, почему импорт будет работать с системой, построенной на ворчании? - person Alexey Sh.; 06.03.2020
comment
Babel polyfill больше не рекомендуется. Используйте другие полифилы. - person ness-EE; 24.03.2020