0

我正在尝试在 Google 云应用引擎中托管一个 Angular 应用。使用 express 来提供内容和静态应该来自 google CDN。

Dist 被构建并交付到 CDN。CDN 存储桶也已共享。

我把它作为一个基本的快速应用程序从本地 ./dist 文件夹中提供静态内容。如何配置它以对抗 CDN?

'use strict';
var express = require('express');
var app = express();
app.use(express.static('dist'));
app.get('/', function (req, res) {
  res.render('index.html');
});

var server = app.listen(process.env.PORT || '8080', function () {
  console.log('App listening on port %s', server.address().port);
  console.log('Press Ctrl+C to quit.');
});

感谢任何指针。

谢谢 !!

4

1 回答 1

2

如果您从 CDN 提供静态内容,则根本不需要使用 express static。只需使用 cdn url 指向资产。

一个非常典型的做法可能是有一个帮助程序在您的模板中加载正确的 cdn url。像这样的东西:

<head>
  <link href="{{cdn '/css/app.css'}}">
</head>

在开发模式下,这只是解析为http://localhost:3000/css/app.css但在生产中它可能是https://cdn-something.com/2.10.2 ...

在开发环境中,您可以有条件地加载 express 静态中间件。或者,您可以使用 apache、nginx 或什至在与您的应用程序不同的端口上的另一个节点进程在本地提供静态资产。

于 2016-09-09T02:10:04.490 回答