Ответ 1
Обозреватель --exclude
делает то, что мне нужно.
browserify --exclude webpage -t babelify script.js --outfile compiled.js
phantomjs compiled.js
Это исключает webpage
из дерева зависимостей, но оставляет импорт на месте.
Есть ли способ использовать ES6 и модули с PhantomJS?
Я могу перетащить каждый файл с ES6 на ES5 с помощью Babel, но неудобно поддерживать параллельные деревья (один в ES6 и еще один в ES5) и записывать импорт, требующий модулей ES5. Я ищу более чистое решение.
Я могу удалить весь код импорта и экспорта, объединить модули вместе, перевести результат в один файл, а затем запустить через PhantomJS, но я предпочел бы использовать импорт и экспорт, если это возможно.
Я попытался использовать Browserify с преобразованием babelify, чтобы преобразовать дерево зависимостей ES6 в один файл ES5, но Browserify не может найти модули PhantomJS, такие как webpage
. Я пробовал игнорировать эти модули, вставив мой package.json
:
"browser": {
"webpage": false
}
но импорт webpage
возвращает пустой объект вместо модуля PhantomJS.
Есть ли чистый способ использовать модули ES6 с PhantomJS?
Обозреватель --exclude
делает то, что мне нужно.
browserify --exclude webpage -t babelify script.js --outfile compiled.js
phantomjs compiled.js
Это исключает webpage
из дерева зависимостей, но оставляет импорт на месте.
Согласно комментарий PhantomJS dev на GitHub, полная поддержка ES6 будет поставляться с PhantomJS 2.5.