2016-03-04 78 views
1

我開始學習Angular 2,並且我在某些主題上相當迷茫......比如服務器。Angular 2:NodeJS vs XAMPP

按照快速設置說明我安裝了Node和npm ...當我在Node中運行項目時,一切都變得完美。標籤<label>被識別並獲得該標籤的模板(在這種情況下是html表單)。

但是,當我在MAMP中運行同一個項目時,該標籤未被識別,並出現與該標籤關聯的模板在控制檯的控制檯中出現「Failed to load resource」錯誤。

所以我猜角2依賴於節點,因爲我要上傳後的項目,我想我的託管計劃不允許我運行節點,這是一個問題......

我不知道我是否預先判斷,也許有人可以幫我清楚這一點...謝謝。

+0

我的所有項目都在Apache下,所以我不認爲這是個問題。除了你的標題說XAMPP,但你的問題說MAMP。 –

+0

無論你使用什麼web服務器都不重要。 IIS,Apache或簡單的Express服務器。 Angular 2不以任何方式依賴於服務器。 – dfsq

+0

XAMPP否它是一個服務器https://en.wikipedia.org/wiki/XAMPP在這種情況下的服務器是(A)Apache,你可以找到如何配置Apache服務器,我認爲解決,並澄清疑惑,我希望它會有所幫助。 –

回答

1

Angular2有niether任何關係也沒有對任何node.js依賴

您可以使用Angular2軟件包編寫Angular2應用程序,而無需使用nodemampxampp或主機該應用程序。

如果您已經在Angular2和node.js組合中編寫了任何東西,那麼您可以將其作爲免費服務託管,如Heroku以用於測試目的。

+0

感謝您的回答。我正在研究那些免費的主機服務,但我更喜歡「正常的」(Apache,PHP)...我仍然迷路,但你們都說我不需要Node,所以我會回去我的步驟和調查我可以做到這一點。 – Adri

+0

瞭解Angular2 [從這裏開始](https://angular.io/docs/js/latest/quickstart.html)創建第一個應用[視頻教程](https://www.youtube.com/watch?v=uD6Okha_Yj0&noredirect = 1)[Text Tutorial](https://angular-tutorial.quora.com/10-minutes-making-a-simple-Angular-2-Todo-App-Part-1) –

0

謝謝,Zeeshan,在你給我的線索的線索。正如我告訴我的原始消息,我開始關注快速入門,但我忘了提及我選擇了JavaScript中的TypeScript ...,這是「錯誤」,因爲TypeScript需要Node才能編譯爲JavaScript,因爲我猜測對於結果我得到:

  • 的打字稿項目只能運行通過控制檯在節點處執行它(「NPM啓動」),而不是在Apache中,這並不讓所有的角部位後(它獲取標籤<whatever></whatever>但不把它翻譯成內容<whatever><h1>Hey</h1></whatever>
  • 使用JavaScript它的工作原理「一如既往」,而不需要一臺服務器,因爲你告訴我

所以我必須在使用TypeScript(以及所有的官方文檔!)之間進行選擇,並將其放在Heroku等平臺中,或者在不需要特定服務器的情況下使用JavaScript,這樣我仍然可以使用Apache。

1

最終的解決方案

好了,又錯了。我是有史以來最糟糕的偵探。

  • 它與TypeScript一起使用與JavaScript一樣,只需要「npm start」就可以將TypeScript編譯爲JavaScript。然後它會自動運行在「本地主機」上,但是一旦編譯完成,你就可以像任何html一樣運行index.html,而不需要服務器,就像你所說的那樣,它不像.php,這是非常有意義的。

  • 所以導致我所有這些誤解的問題是Node「localhost」工作,Apache「localhost」沒有工作,錯誤是我打電話到@Component:templateUrl: "../template/file.html",路徑是寫在「/app/whatever.js」中,但它是從「index.html」開始工作的,所以它只是templateUrl: "template/file.html"而且一切都按預期工作。

  • 什麼我不知道是爲什麼它的工作原理與錯誤的路徑,當我從節點運行它!一個錯誤會節省我很多時間...和你的...

那麼,至少我已澄清了很多概念在這次調查中。謝謝你們!