3.7.3.3. 构建系统和项目结构

Polymer 客户端构建链会使用以下工具:

默认 Gradle 会处理这些工具的安装和调用。但是也可以直接使用这些工具,参考使用原生 Polymer 工具

Polymer 2.x 和相应的原生元素都是用 ES6 标准编写的,因此需要一个额外的编译步骤(ES6 → ES5 ttps://polymer-library.polymer-project.org/2.0/docs/es6[编译])来适应老的浏览器。

Polymer 客户端的默认 preset 是 es6-unbundled。意味着如果需要适配老浏览器进行生产环境部署,这个需要改为 es5-bundled

修改构建 preset,打开 polymer.json 文件,修改 builds 属性内容,示例:

  1. "builds": [
  2. {
  3. "preset": "es5-bundled",
  4. "basePath": "/app-front/",
  5. "addServiceWorker": false
  6. }
  7. ]

可以在 polymer.json 中设置多个 preset 或者自定义构建流程。参考 Polymer 网站 了解更多关于 preset 的信息以及编译选项。

如果需要将特殊的 preset 编译结果部署到 Tomcat,需要修改 build.gradle 内的 deploy 任务:

  1. task deploy(type: Copy, dependsOn: [assemble, deployUnbundled]) {
  2. from file('build/es5-unbundled')
  3. into "$cuba.tomcat.dir/webapps/$frontAppDir"
  4. }

注意,es6-bundledes5-unbundled 需要在 polymer.jsonbuild.gradle 两处进行修改。