建议服务器运行用Polymer构建的应用程序

建议服务器运行用Polymer构建的应用程序,polymer,Polymer,Polyserve是我在基于Polymer框架开发web应用程序时一直使用的工具。现在,我已经安装并运行了一个AmazonLinux服务器,我必须为生产部署我的web应用程序。 由于生产环境不推荐使用polyserve,我应该选择哪一种?Apache+PHP怎么样?“Apache+PHP”对我来说意味着一个PHP服务,但是如果您一直在使用polyserve,我假设您实际上根本不需要后端,您只是在服务静态文件 如果是这种情况,我建议部署到,它有一个空闲层 如果您希望继续使用AmazonLinux服

Polyserve
是我在基于Polymer框架开发web应用程序时一直使用的工具。现在,我已经安装并运行了一个AmazonLinux服务器,我必须为生产部署我的web应用程序。 由于生产环境不推荐使用
polyserve
,我应该选择哪一种?Apache+PHP怎么样?

“Apache+PHP”对我来说意味着一个PHP服务,但是如果您一直在使用
polyserve
,我假设您实际上根本不需要后端,您只是在服务静态文件

如果是这种情况,我建议部署到,它有一个空闲层


如果您希望继续使用AmazonLinux服务器,Apache是可以的,但我推荐。

正如Tony所说,任何静态web服务器都应该这样做。不过,您可能需要对单页应用程序提供一些支持

我在我的开发盒上使用,也在Heroku上运行。这是我的:


也就是说,您甚至可以使用GitHub页面托管一个聚合应用程序。要做到这一点,您可以使用这个简单的技巧,称为。查看我如何使用它在GitHub上主持我的元素演示:

如果您熟悉Node.js,可以使用express framework为您的聚合元素提供服务。我使用此脚本在Heroku上提供聚合物初学者工具包应用程序:

var express = require('express');
var app = express();

var port = process.env.PORT || 8080;

// serve your elements
app.use('/src', express.static('src'));
// serve bower_components
app.use('/bower_components', express.static('bower_components'));
// serve index.html
app.get('/', function(req, res){
  res.sendfile('views/index.html');
});

app.listen(process.env.PORT || 8080, function () {
  console.log(`App listening on port ${port}!`);
});

好啊然而,有一点值得关注。对于
polyserve
项目根目录中的
polymer.json
文件,它有一个名为
entrypoint
的键,显然允许我自定义
URL
。例如,如果我键入
entrypoint:“myentrypoint”
,那么当我点击
localhost:port/myentrypoint
时,我的web应用程序就会被加载。目前其他服务器的情况并非如此。这就是我需要弄清楚的。对于其他服务器来说,它只是静态的。例如,触发
localhost:port/projectdirectoryname
加载
localhost:port/projectdirectoryname/index.html
localhost:port/myentrypoint
不起作用
var express = require('express');
var app = express();

var port = process.env.PORT || 8080;

// serve your elements
app.use('/src', express.static('src'));
// serve bower_components
app.use('/bower_components', express.static('bower_components'));
// serve index.html
app.get('/', function(req, res){
  res.sendfile('views/index.html');
});

app.listen(process.env.PORT || 8080, function () {
  console.log(`App listening on port ${port}!`);
});