如何触发聚合物构建以从吞咽中进行巴贝尔转换?

时间:2017-08-29 00:12:58

标签: gulp polymer babeljs

我有一个聚合物1.x项目,运行良好,使用gulp和聚合物构建。现在我开始使用一些包含ES6的新组件,我遇到了问题。我可以使用Gulp的babel。但我认为聚合物构建会为我做转换,对吧?我该如何做到这一点?我在我的polymer.json文件中尝试了一些东西,但这些都不起作用。

  "builds": [
    {"js": {"compile": true}}
  ],

和...

  "builds": [
    {"preset": "es5-bundled"}
  ],

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

好吧,更新版本的聚合物CLI转换es6代码很好。也许尝试先更新。我正在使用Polymer 1.9和Polymer CLI 1.3.1。我的项目是用ES6编写的,我没有遇到任何问题

我的polymer.json看起来像:

"builds": [{
    "name": "prod",
    "js": {"minify": true, "compile": true},
    "css": {"minify": true},
    "html": {"minify": true}
}],

答案 1 :(得分:0)

polymer-build本身不会查找polymer.json,而是会收到polymer-cli reads from polymer.json的参数。要在JSON文件中实际使用构建标志,您的Gulp项目必须明确读取polymer.json并将内容传递给polymer-build,如下所示:

const polymerBuild = require('polymer-build');
const polymerJson = require('/path/to/polymer.json');
const polymerProject = new polymerBuild.PolymerProject(polymerJson);
...

请参阅Polymer custom-build generator中的工作示例。

或者,您可以将标志作为JSON对象直接传递给polymer-build,如下所示:

const polymerBuild = require('polymer-build');
const polymerProject = new polymerBuild.PolymerProject({
  builds: [
    {js: {compile: true}}
  ]
});
...