【发布时间】:2019-10-12 02:15:25
【问题描述】:
我在主页上关注 Angular Universal:https://angular.io/guide/universal
如果没有通用,我使用命令
ng serve --ssl true --ssl-key /node_modules/browser-sync/lib/server/certs/server.key --ssl-cert /node_modules/browser-sync/lib/server/certs/server。 crt --host 0.0.0.0
现在,我将通用添加到我的项目中,但不知道如何设置它使用“https”运行。
请帮帮我。
这里是我的 server.ts
导入'zone.js/dist/zone-node'; 从“@angular/core”导入 {enableProdMode};
// 快速引擎
从“@nguniversal/express-engine”导入 {ngExpressEngine};
// 导入模块映射以进行延迟加载 从“@nguniversal/module-map-ngfactory-loader”导入 {provideModuleMap};
从'express'导入*作为快递;
从“路径”导入 {join};
// 更快的服务器渲染 w/ Prod 模式(从不需要开发模式)
enableProdMode();
// 快递服务器
const app = express();
常量 PORT = process.env.PORT || 4000;
const DIST_FOLDER = join(process.cwd(), 'dist/browser');
// * 注意 :: 将此保留为 require(),因为此文件是从 webpack 动态构建的
const {AppServerModuleNgFactory, LAZY_MODULE_MAP} = 要求('./dist/server/main');
// 我们的通用快递引擎(找到@https://github.com/angular/universal/tree/master/modules/express-engine)
app.engine('html', ngExpressEngine({
引导程序:AppServerModuleNgFactory,
提供者:[
提供ModuleMap(LAZY_MODULE_MAP)
]
}));
app.set('视图引擎', 'html');
app.set('views', DIST_FOLDER);
// Express Rest API 端点示例
// app.get('/api/**', (req, res) => { });
// 从 /browser
提供静态文件 app.get('.', express.static(DIST_FOLDER, {
最大年龄:'1y'
}));
// 所有常规路由都使用通用引擎
app.get('*', (req, res) => {
res.render('index', { req });
});
// 启动节点服务器
app.listen(PORT, () => {
控制台.log(Node Express server listening on http://localhost:${PORT});
});
【问题讨论】:
-
您可以为 express 启用 https (stackoverflow.com/questions/11744975/…),但如果您使用反向代理(Apache、nginx),那么您只需将代理配置为使用 https
标签: angular angular7 angular-universal