有没有办法使用ES6和模块与PhantomJS?
我可以使用Babel将每个文件从ES6转换为ES5,但是维护并行树(ES6中的一个和ES5中的另一个)很难并且编写导入以要求ES5模块。我正在寻找一个更清洁的解决方案。
我可以删除所有导入和导出代码,将模块连接在一起,将结果转换为单个文件,然后通过PhantomJS运行,但我更愿意使用导入和导出。
我尝试使用Browserify和babelify转换将ES6依赖树转换为单个ES5文件,但Browserify无法找到PhantomJS提供的模块,如webpage
。我已经尝试通过放入package.json
:
"browser": {
"webpage": false
}
但导入webpage
会返回一个空对象而不是PhantomJS模块。
是否有一种干净的方式将ES6模块与PhantomJS一起使用?
答案 0 :(得分:12)
根据PhantomJS dev's comment on GitHub,ES6的全力支持将附带PhantomJS 2.5。
答案 1 :(得分:2)
Browserify的--exclude
选项可以满足我的需求。
browserify --exclude webpage -t babelify script.js --outfile compiled.js
phantomjs compiled.js
从依赖关系树中排除webpage
但保留导入。