[英]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.