基于 Polymer 初学者工具包部署应用程序

Deploying app based on Polymer starter kit

在 Polymer 1.0 之前,我使用的是 python 简单的 http 服务器 and/or apache。当我遇到初学者工具包应用程序时,我开始使用内置的 browsersync,通过 gulp serve.

这适合在 Heroku 上托管吗?

我补充了:

"scripts": {
  "start": "gulp serve:dist"
},

到我的 package.json,它会尝试 运行。当我尝试加载页面时,我得到:

heroku[router]: at=error code=H10 desc="App crashed" method=GET

Heroku 的指南基于传统的节点应用程序,package.json 中的 Procfile 或 "script" 通常只是 node app.js

我觉得我缺少了一些微不足道的东西。任何帮助将不胜感激!

如果您 运行 gulp.vulcanize 喜欢示例应用程序中的 'serve:dist' 任务,并且还希望托管 . /dist 文件夹然后 heroku 不是一个好主意。 H 没有 buildpack 来接受像 vulcainzed ./dist 这样的平面文件夹,并简单地用 nginx / apache 托管它。

buildpack list has nothing 4 polymer, although using a node wrapper appears to be an option 与 Heroku/polymer。 IMO 这不是最好的,因为在尝试简单地将 ./dist 文件夹推送到网络时,节点层非常笨拙。

有技巧可以让它在 H 上运行(下面的链接)或使用 Heroku API 来简单地推送一个文件夹,但在我看来你可以做得更好。

我会仔细研究 AWS 等替代品或 github 页 B4 heroku。 请注意,我使用 ./dist 文件夹并使用

快速尝试了 github 页
var ghpages = require('gh-pages');
...
gulp.task('deploy', ['default'], function(cb) {
    ghpages.publish(path.join(process.cwd(), 'dist'), cb);
});

在 github 上由于 #! 的某些路由器问题而失败。链接。所以我决定只将一个未硫化的版本推到网上。 (不是最好的)

在决定将 ./dist 文件夹推送到 Web 上的某个位置之前,请确定您可以在不使用 'gulp.serve' 任务的情况下在本地托管 ./dist。您可能会看到在您的项目中推送 'gulp.serve' 和 npm 的选项,但是当 vulcanize 如此努力地只生成那个 ./dist 文件夹时,包括所有这些额外的垃圾对我来说是没有意义的!

在标准输出中确定硫化任务实际上正在完成....

[15:59:59] Starting 'vulcanize'...
[16:00:00] 'vulcanize' all files 436.07 kB
[16:00:00] Finished 'vulcanize' after 1.14 s

根据您扩展初学者工具包的方式,'vulcanize' 可以 fail pretty silently 这样您就可以继续处理托管 ./dist 文件夹的其他事情,而不会意识到 'vulcanize' 失败了。

Is it possible to upload a simple html and javascript file structure to heroku?

https://www.npmjs.com/package/gulp-gh-pages

How to deploy node app that uses grunt to heroku

http://www.sitepoint.com/deploying-heroku-using-gulp-node-git/

我最近重新访问了这个。我找到了一个非常简单的解决方案。 我添加了一个 "serve.js" (名字不重要) 内容:

var express = require('express');
var app = express();
app.use(express.static("" + __dirname + "/dist"));
app.listen(process.env.PORT || 5000);

然后,在我的 package.json 文件中添加:

"scripts": {
   "start": "node serve.js",
   "postinstall": "bower install && gulp"
},

node serve.js 也可以在 Procfile 中。 Heroku 应该以任何一种方式识别和使用它。 postinstall 用于获取 bower 组件,运行 默认 gulp 构建任务。 https://devcenter.heroku.com/articles/nodejs-support