Polymer 杰基尔+;聚合物&x2B;硫化-这是如何工作的?

Polymer 杰基尔+;聚合物&x2B;硫化-这是如何工作的?,polymer,jekyll,bower,polymer-1.0,vulcanize,Polymer,Jekyll,Bower,Polymer 1.0,Vulcanize,我刚开始将聚合物集成到我的Jekyll环境中。 基本上,我在Jekyll根目录中创建了一个bower.json文件,该文件调用以下依赖项: ... ], "dependencies": { "iron-elements": "PolymerElements/iron-elements#^1.0.0", "paper-elements": "PolymerElements/paper-elements#^1.0.1", "polymer": "Polymer/polymer#^1.2.0"

我刚开始将聚合物集成到我的Jekyll环境中。 基本上,我在Jekyll根目录中创建了一个bower.json文件,该文件调用以下依赖项:

...
],
 "dependencies": {
"iron-elements": "PolymerElements/iron-elements#^1.0.0",
"paper-elements": "PolymerElements/paper-elements#^1.0.1",
"polymer": "Polymer/polymer#^1.2.0"
  }
}
在我的Jekyll根目录中运行
bower install
后,我将bower_components文件夹与我请求的所有聚合物包一起归档。在我的Jekyll模板的
head.html
中,我包括

<link rel="import" href="{{ site.baseurl }}/bower_components/paper-item/paper-item.html">
<link rel="import" href="{{ site.baseurl }}/bower_components/paper-tabs/paper-tabs.html">
<link rel="import" href="{{ site.baseurl }}/bower_components/paper-toolbar/paper-toolbar.html">
<link rel="import" href="{{ site.baseurl }}/bower_components/iron-icons/iron-icons.html">
<link rel="import" href="{{ site.baseurl }}/bower_components/paper-icon-button/paper-icon-button.html">
<link rel="import" href="{{ site.baseurl }}/bower_components/iron-flex-layout/iron-flex-layout.html">
 ...

...
以整合所需的聚合物包装。我运行
jekyllserve
创建并查看页面。到目前为止还不错

但是,我觉得这可能会导致我的页面加载时间过长,不是吗? 我几乎可以肯定,谷歌自己的网站速度测试会要求我减少http呼叫的数量。正如我所发现的,Polymer提供了一个名为
suverize
的包,将http请求组合成一个:

老实说,我不清楚如何将此整合到我的流程中。我见过一些文档谈论
grunt
,但老实说,我对此一无所知


有人能提供一些关于如何压缩我的聚合物特色的Jekyll页面的信息吗?(html、html调用、css…谢谢

我也遇到了同样的问题,最终找到了解决方案,以防你还在研究这个问题。(原贴)

我使用了Gulp,复制了(1.2.3)。我使用了
package.json
tasks/
目录,并修改了
gulpfile.js。
我更改了
默认值
服务
任务的行为,以在shell中运行JekyllServe和build。我还更改了gulpfile中的目录引用,以硫化
app/\u site/
中的文件,而不是
app/

var spawn = require('child_process').spawn;
var argv = require('yargs').argv;

gulp.task('jekyllbuild', function(done) {
  return spawn('bundle', ['exec', 'jekyll', 'build'], { stdio: 'inherit' })
      .on('close', done);
});

// Build production files, the default task
gulp.task('default', ['clean'], function(cb) {
  // Uncomment 'cache-config' if you are going to use service workers.
  runSequence(
    'jekyllbuild',
    ['ensureFiles', 'copy', 'styles'],
    'elements',
    ['images', 'fonts', 'html'],
    'vulcanize', // 'cache-config',
    cb);
});

gulp.task('serve', function(done) {
  if (argv.port) {
    return spawn('bundle', ['exec', 'jekyll', 'serve', '--port=' + argv.port], { stdio: 'inherit' })
        .on('close', done);
  } else {
    return spawn('bundle', ['exec', 'jekyll', 'serve'], { stdio: 'inherit' })
        .on('close', done);
  }
});

使用BrowserSync会产生更清洁的效果,但这是一种获得Jekyll功能和硫化生产效益的简单方法。(请注意,您还必须安装
yargs
包来处理端口规格。)我的整个gulpfile是。

从github获得“聚合物启动工具包”,然后深入研究“serve”与“serve prod”的gulp任务。prod任务将硫化任务输出到./dist,您可以查看详细情况。很抱歉,有人能提供一个使用gulp和Jekyll+Polymer硫化的示例吗?这个话题似乎有点悬而未决。关于“杰基尔聚合物”的要求。当gulp与PSK的集成涵盖了静态页面的托管/服务时,为什么还需要jekyll来处理静态内容呢。以git/PSK项目的表面价值和“里面”的内容为例。你可能会得出这样的结论:杰基尔与polymer&PSK是多余的??过去我使用了最小的Git Hub页面和Jykyl东西,并不会真正考虑新的聚合物项目,因为GULP覆盖了我所需要的Jykyl。他们正试图使“硫化”步骤正常工作,以便您只需为web主机包装一个gulpTask.start命令。