Определить точку входа в устаревшем приложении Grunt/Angular для babel-pollyfill

Я работаю с унаследованным приложением, которое мы медленно тянем к более современным библиотекам и т. Д. (Я говорю это заранее, чтобы попытаться предотвратить любые ответы "просто обновить до webpack/yarn/etc". Мы работаем над этим, постепенно.)

Краткое описание проблемы:

Я успешно включил "grunt-babel": "^7.0.0", (я вижу, что он отлично работает с тестом let testBabel = 1 преобразование). Мне также требуется "babel-polyfill": "^6.26.0","для обработки таких вещей, как .includes() & Функция Array, которую я извлек через мой пакет.json "зависимости" (а не "devDependencies", как мне указали в документации). Моя настоящая проблема должна быть довольно простой: у меня нет понимания правильного способа "загрузить это через файл ввода" для набора библиотек, который я использую.

Угловой v1.5

Моя настройка:

package.json

  "devDependencies": {
"babel-core": "^6.26.0",
"babel-preset-env": "^1.6.1",
"grunt": "^0.4.5",
"grunt-babel": "^7.0.0",
"grunt-contrib-concat": "^0.5.1",
"grunt-contrib-copy": "^0.8.0",
"grunt-contrib-sass": "^0.9.2",
"grunt-contrib-uglify": "^0.9.1",
"grunt-contrib-watch": "^0.6.1",
"grunt-shell": "^2.1.0",
"load-grunt-tasks": "^3.5.2"
  },
  "dependencies": {
    "babel-polyfill": "^6.26.0",
    "d3-selection-multi": "~1.0.1",
    "node-bourbon": "^1.2.3"
  }

GruntFile.js

        src: [

            './app/vinoEZ/javascripts/__header/jquery/jquery_number.js',
            './app/vinoEZ/javascripts/__header/jquery/hottie.js',
            './bower_components/localforage/dist/localforage.js',
            './bower_components/moment/min/moment.min.js',
            './app/vinoEZ/javascripts/__header/polyfill/entry.js',
            './app/vinoEZ/javascripts/__header/polyfill/eventsource.js',
            './bower_components/bootstrap-datepicker/dist/js/bootstrap-datepicker.js',
            './bower_components/smalot-bootstrap-datetimepicker/js/bootstrap-datetimepicker.js',
            './app/vinoEZ/javascripts/__header/underscore/underscore.js',
            './app/vinoEZ/javascripts/__header/myapp/base.js',

        ],
        dest: './public/javascripts/myapp.head.min.js',

("myapp" является заменой названия нашей компании). pollyfill/eventsource.js существовал, и поэтому я работал с pollyfill/entry.js как некоторые из моих экспериментов - это может не понадобиться в конце.

Кроме того, у нас есть app.js файл со всеми нашими angular.module загрузка и директивные вещи.

Что я пробовал:

Я пробовал добавлять require("babel-polyfill"); как первая строка внутри моего module.exports = function(grunt) { - это, кажется, игнорируется, и мне все равно сказали, что это неправильно

Я пробовал добавлять require("babel-polyfill"); а также import "babel-polyfill"; внутри этого entry.js, который, очевидно, не будет работать и не работает (синтаксическая ошибка, поскольку javascript не понимает)

Я попытался добавить то же самое в начало файла angular app.js, но это просто взорвало мой angular.

На самом деле ищите "напишите здесь эти слова", решите для меня ответ, так как я почти уверен, что это чертовски простая вещь, если вы знаете, что печатать, но я в растерянности.

ТИА!

1 ответ

В конце концов, кажется, что прямая ссылка - это самый простой способ справиться с этим, тем более что мы постепенно обновляем всю систему.

CDN для всех, кто заинтересован: https://cdn.polyfill.io/v2/docs/

Другие вопросы по тегам