安装最新的npm(所需版本 >= 5.x)

    $ npm i npm -g

安装Yarn(所需版本 >= 1.6.0)

    $ npm install -g yarn

安装-cli:(需要版本> = 1.6.x)

    $ yarn add global polymer-cli

Note: -cli is not able to with npm 5.x.x for now. use yarn to .

安装Bower(需要版本 >= 1.8.x)

    $ yarn add global bower

安装依赖包

    $ npm install
$ bower install

开始开发

此命令为应用程序提供服务:8081并为应用程序提供基本的 URL 路由:

    $ polymer serve --open

启动生产服务器(PRPL服务器)

此命令为应用程序提供服务:8081并为应用程序提供基本的 URL 路由:

    $ polymer build
$ npm start

构建项目

此命令对应用程序依赖项执行 HTML、CSS 和 JS 缩小,并生成一个 -.js 文件,其中包含用于根据 中指定的入口点和片段预缓存依赖项的代码.json。

输出文件适合build/从 HTTP/2+Push 兼容服务器提供服务。

构建项目:

    $ polymer build

预览构建

:8080此命令提供使用片段捆绑生成的应用程序的生产版本:

    $ polymer serve build/es6-bundled/ --open

运行 Lint

该命令将运行 Lint

    $ polymer lint --input src/**/*.html

运行测试(单元测试)

此命令将针对计算机上当前安装的浏览器运行Web 。

    $ polymer test

部署项目

2.x/3.x 引入了符合标准的 ES6 基于类的语法来定义 Web 组件。这对于大多数现代浏览器都很有效,而且 ES6 还有许多其他不错的功能(如箭头函数),可以让您的 JS 代码更干净、编写起来更有趣。

但是,如果您需要支持 IE 11 等较旧的浏览器,则必须将代码编译为 ES5,与直接在现代浏览器上运行 ES6 相比,这会带来性能缺陷。

理想的方法是使用差异化服务为现代浏览器提供 ES6 版本,并为旧版浏览器提供后备 ES5 版本。prpl–node 是使用此模式的节点服务器的示例实现。我从这个实现中汲取了想法,并基于 –kit 创建了一个示例,了解如何使用 Cloud for 在 托管上使用差异化服务,从而动态地将正确的版本发送给用户。

方法 1:在 托管上部署(作为静态站点)

之后,运行 build,然后运行它来部署应用程序(确保您已登录并选择了您的 项目)

    $ firebase deploy

方法二:部署在PRPL服务器上(用nginx反向代理)

PRPL 定义了生产就绪的 应用程序如何通过仅向客户端发送所需的资源来高效工作:

在 PRPL 模式中,服务器需要能够识别每个应用程序的路由所需的资源。它不是将资源捆绑到单个单元中进行下载,而是使用 HTTP2 推送来提供呈现请求的路由所需的各个资源。

构建应用程序时,始终考虑优先发送关键资源以首先呈现有意义的视图,然后根据请求发送其余应用程序资源。

回到我们的主题,在 PRPL 模式中,服务器和 共同为非活动路由预缓存资源。

当用户切换路由时,应用程序会延迟加载尚未缓存的任何所需资源,并创建所需的视图。

prpl-足够智能,可以使用用户代理标头、检测浏览器功能并为您的浏览器提供正确的构建

首先,在本地服务器上安装 PRPL 服务器

   $ yarn global add prpl-server

然后,进入项目目录

在开发中运行 PRPL 服务器

   $ prpl-server --root ./build --config polymer.json --host 127.0.0.1

在生产中运行 PRPL 服务器

   $ prpl-server --root ./build --config polymer.json --host 127.0.0.1 --https-redirect

为了使用 nginx 反向代理(支持 http2)为应用程序提供服务,您需要拥有证书。我们建议使用 工具来帮助生成站点证书。

IMES 是一款专为中小型作业车间制造商设计的开源制造执行系统应用程序。

适用于中小类型制造商的开源制造执行系统。

源代码