簡體   English   中英

如何集成兩個不同的服務器,如 Angular 和 NodeJs?

[英]How can I integrate two different servers like Angular and NodeJs?

我是 Angular 和 NodeJS 的新手。 我完成了所有的基本文檔,現在我在做教程。 我的問題是關於架構。

按照 angular 教程,您創建一個新服務器:

ng new new-project

這將創建一個監聽端口 4200 的整個服務器,您可以學習和使用 angular,了解指令等。

然后你用節點創建一個服務器,配置路由等。但是這兩個服務器是如何生活在一起的? 你有什么建議我加入他們?

這是一個節點服務器。 角度部分只是兩個文件

這是使用 ng serve 創建的服務器。 角度部分非常復雜

Angular 項目不是服務器。 Angular 是創建前端頁面/應用程序的框架。 Angular-cli 命令ng serve用於構建應用程序並在本地主機上啟動 Web 服務器。 當您使用 angular 構建頁面時,請使用 angular-cli 命令ng build --prod來構建頁面(有關 ng build 命令的更多信息)。 構建工件將存儲在項目的dist/目錄中。

如果您想使用節點托管角度頁面 - 當節點可以訪問復制文件時,將文件從projektFolder/dist復制到目錄。 在 node 中,您可以使用 express 庫來托管靜態文件:

app.use('/myangularproject', express.static('myangularproject')) //host static files`

有關 node 和 express 中托管靜態文件的更多信息

編輯

您可以使用 Angular CLI 構建一個 Angular 應用程序。 這是一個用於處理 angular 的附加工具,您不必使用它。

Angular cli 是一個命令行界面,用於使用 nodejs 樣式(commonJs)模塊搭建和構建 Angular 應用程序。 它不僅為您提供可擴展的項目結構,而且開箱即用地為您處理所有常見的繁瑣任務

服務

ng serve是 angular cli 的一個工具。 當您調用此命令時,您的項目將在內存中構建並通過 webpack-dev-server 提供服務。 用於項目的快速預覽和開發 如果此命令讓您感到困惑,那么您可以使用 npm 腳本npm start

CLI 支持通過運行 ng serve 為用戶運行實時瀏覽器重新加載體驗。 這將在文件保存時編譯應用程序,並使用新編譯的應用程序重新加載瀏覽器。 這是通過將應用程序托管在內存中並通過webpack-dev-server提供服務來 完成的 文檔

構建

ng build將應用程序編譯到輸出目錄中。

將 Angular 應用程序編譯到給定輸出路徑中名為 dist/ 的輸出目錄中。 必須從工作區目錄中執行。

當您使用命令ng new Angular CLI 時,添加所有必要的文件來開發您的應用程序。 其中一些用於配置項目,例如tslint.jsontsconfig.jsonangular.json ... 不要托管這些文件,僅托管使用ng build命令( /dist目錄)的結果文件。

Angular CLI 將您的項目編譯成幾個文件(嘗試ng build並查看/dist有多少文件。您必須托管所有這些文件。這些是靜態文件。您不需要像 php 文件這樣的特殊服務器。您可以托管他們使用常規文件服務器。我不知道您在節點中使用什么來托管靜態文件。如果他們使用express您可以使用express.static() 。更多信息在頂部。

暫無
暫無

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

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