繁体   English   中英

如何在Azure Linux Web应用程序上托管Angular

[英]How to host an angular on Azure linux web app

我正在尝试使用Azure上的Linux Web应用程序托管此Angular应用程序。 部署后,我无法加载网站,因此,经过一些研究,我发现我需要添加一个index.js文件( 无法获取index.html Azure Linux Web App

这解决了我无法加载我的网站的事实。 但这不能解决角度布线问题。 如果我导航到一条有角度的路线并单击刷新,则该页面不会重定向到index.html,并且得到404响应。 (请参阅http://ecominas-website-qas.azurewebsites.net

这是我的index.js

var express = require('express');
var server = express();
var options = {
    index: 'index.html'
};
server.use('/', express.static('/home/site/wwwroot', options));
server.listen(process.env.PORT);

我也尝试过添加web.config,如此处所述在azure linux应用程序服务中托管angular应用程序 ,但这不会加载index.html页面,并且显示默认的“一切正常,但未找到应用程序”页面。

我如何才能使用成角度的路线?

谢谢

因此,我终于设法使其正常工作。 经过几天的研究和尝试/错误,这是可以用作将来参考的index.js

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

var server = express();
var options = {
    index: 'index.html',
    redirect: true,
};
server.use(express.static('/home/site/wwwroot', options));
const allowedExt = [
    '.js',
    '.ico',
    '.css',
    '.png',
    '.jpg',
    '.woff2',
    '.woff',
    '.ttf',
    '.svg',
  ];

server.get('*', (req, res) => {
    if (allowedExt.filter(ext => req.url.indexOf(ext) > 0).length > 0) {
        res.sendFile(path.resolve(req.url));
    } else {
        res.sendFile(path.resolve('index.html'));
    }
});
server.listen(process.env.PORT);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM