最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

为什么我从运行指向Angular应用程序的 dist文件夹的节点服务器时得到空白页?

网站源码admin20浏览0评论

为什么我从运行指向Angular应用程序的/ dist文件夹的节点服务器时得到空白页?

为什么我从运行指向Angular应用程序的/ dist文件夹的节点服务器时得到空白页?

我的简单节点服务器是:

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

app.get('*', (req, res) => {
  res.sendFile(__dirname + '/dist/page/index.html');
})

app.listen(3335, () => { console.log('Server is listening on 3335'); });

但是我得到的索引文件似乎没有运行main.js Angular应用程序,目前它实际上是一个页面/组件,即appponent.ts,因此没有任何路由。

回答如下:

使用express.static()提供静态文件。

这是因为您为服务器将收到的每个请求都设置了“ index.html”文件的响应。 第一个响应会很好,那就是只有预期的那样才是index.html页面。 但是,index.html页面必须具有一些脚本css标记才能获取您的Angular Javascript代码,我认为它们将在同一节点服务器上。 因此,当浏览器遇到如下一行时:

<script src="/angularApp.js"></script>

..在解析它的index.html文件中时,它将向节点服务器发出另一个对http://localhost:<port>/angularApp.js但会得到index.html文件作为响应,因为你已经设定了。

这样做是为了提供静态文件,例如.html,.css,.js或您拥有的文件:

app.use(express.static(path.join(__dirname, '/dist')));
发布评论

评论列表(0)

  1. 暂无评论