簡體   English   中英

如何從同一文件夾設置Angular2 CLI項目和Node.js應用

[英]How to set up Angular2 CLI Project and Node.js app from the same folder

我使用angular2 cli創建了一個項目。 我還創建了一個單獨的節點js應用程序作為后端。 我想將前端應用程序移動到節點應用程序中,以便可以使用節點server.js運行兩個應用程序。 我的server.js看起來像這樣:

app.use(express.static(__dirname + '/app'));
...
app.get('*', function (req, res) {
    res.sendfile('./app/src/index.html');
});
app.listen(8000);

我從angular2 cli獲得的index.html看起來像這樣:

<!doctype html>
<html>

<head>
  <meta charset="utf-8">
  <title>My App</title>
  <base href="/">

  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="icon" type="image/x-icon" href="favicon.ico">
</head>

<body>
  <app-root>Loading...</app-root>
</body>

當我現在運行節點server.js並瀏覽到http:// localhost:8000 /時,我可以看到“正在加載...”消息,但是此后什么也沒有出現,並且控制台中也沒有錯誤。

您真正應該做的是在某個文件夾中創建帶有角度cli的prod構建( ng build --prod -o /somefolder )(o用於輸出),然后讓節點將帶有app.use(express.static...) 比您可以添加一條路由來僅返回index.html頁面,以便您的url不會包含整個文件夾路徑(例如:localhost / somefolder / index.html)(此路徑很丑陋)。

這是最好的方法,因為有角度的應用程序仍然是單獨的,並且不會與nodejs邏輯混合在一起。

暫無
暫無

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

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