簡體   English   中英

為什么我從運行指向Angular應用程序的/ dist文件夾的節點服務器時得到空白頁?

[英]Why I'm getting a blank page from running a node server that point to the /dist folder of an Angular app?

我的簡單節點服務器是:

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應用程序,目前它實際上是一個頁面/組件,即app.component.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')));

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM