簡體   English   中英

如何在使用公用文件夾的Webhost上組織Angular 2文件?

[英]How to Organize Angular 2 Files on Webhost that Uses Public Folder?

我目前已將服務器從Shared VPS更新為專用服務器,因此我可以開始使用Node.js環境並獲得對自己服務器的root訪問權限。

一切都很好,我已經git克隆了angular / quickstart.git項目進行練習。

我的Web服務要求我為域使用公用文件夾,這很好,但是只需將所有文件下載到我的根目錄中,如下所示:

site.com/public (pre-existing folder on server)
site.com/app
site.com/package.json
site.com/index.html
site.com/systemjs.config.js
site.com/tsconfig.json

除其他文件外。

我可以“ npm start”項目,但是我看不到任何文件,因為它們都是root用戶訪問權限,並且不在“ public”文件夾中。

如果我改為將文件下載到公用文件夾,則如下所示:

site.com/public/app
site.com/public/package.json
site.com/public/index.html
site.com/public/systemjs.config.js
site.com/public/tsconfig.json

所有這些文件都保持暴露狀態。

此時我該怎么辦?

我知道如何安裝express並設置某些文件夾來模仿“ public”文件夾,但這不要求我從Angular 2運行內部的“ app / app.js”文件以及從Angular 2運行的“ app.js”文件根Express.js安裝。

這似乎應該比現在容易得多,但是這是我第一次在生產服務器上練習,而不是在我的Angular 2桌面上練習。

有什么建議,設計方法或外形嗎?

我想你在把事情搞砸了。 AngularJs是“客戶端”,而NodeJs用於構建應用程序。 如果您想擁有Express服務器端,那就不一樣了。

如果使用角度CLI,則會在dist文件夾中生成客戶端,然后僅將其中的文件復制到Public文件夾。 然后,Express App可以在服務器上任何位置運行的NodeJs服務器中運行。

問題是,僅針對非常簡單的演示創建了angular / quickstart.git項目,不應像您那樣將其用於生產服務器,而僅用於本地主機服務器。

一個好的且流行的解決方案是使用angular CLI ,它將生成/ dist文件夾中的所有文件,這樣您就可以在專用服務器上表示節點並將/ dist用作/ public。

還有另一個故事是,您可以在雲服務器上進行持續集成 ,例如heroku或azure等。但是我認為這已經太多了。

暫無
暫無

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

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