2016-01-08 45 views
2

我需要您的幫助NodeJS ninjas。在做了大量的LAMP之後,我開始學習它。我在Apache/PHP/MySQL中爲小型企業內部網(包括票據系統,員工時間安排,生產報告,財務報告等)編寫了多個系統。Node js/Express取代LAMP

因此,在LAMP世界中,我啓動了Apache和MySQL引擎。然後人們進入他們的瀏覽器,鍵入服務器IP並根據htdocs中的文件夾瀏覽我爲他們編寫的不同系統。

我想通過使用MVC模型(我也是新手)使用NodeJS,Express進行設置。兩個主要問題:

  1. 因爲我有幾個系統(員工排班,財務 報告等),將這些每一個有管理,有自己的中間件規則和所有自己的中間件?或者它們全都只是在主線程下運行? (負載平衡是另一回事)。
  2. 文件夾佈局會是什麼? XAMPP有htdocs文件夾,文件夾結構是我想要的。

從我在大多數教程所看到的,一個文件夾佈局的選項是:

-app - 控制器 - 模型 - 航線 - 觀點 -config - ENV -node_modules -public(我想我實現系統會在這裏?) -server.js

感謝你的幫助,我仍然是一個完整的小白,但我很興奮進入這個。

+0

的文件夾結構可以是你在一個節點的項目要和什麼的。儘管你可能最好使用一個自以爲是的框架 - 一個已經爲你做出了大部分這些決定的人。我建議SailsJS,但是在項目中存在一些分歧 - 導致一些開發人員從TrailsJS開始。您可以在這裏找到一些節點框架建議:http://designpixy.com/2015/node-js-frameworks-2015/ – JimL

+0

搜索有關* routing *的信息。瀏覽SLIM(PHP)(我想從Sinatra(Ruby)借鑑),然後再加入。 – Progrock

回答

1

2年前,我來自LAMP堆棧詞,並轉移到nodeJS。自那以後發生了很多變化。

事情你需要知道的NodeJS與PHP:

  • 下的NodeJS谷歌的JavaScript V8引擎運行。
  • nodeJS是單線程的。 PHP是多線程的。這意味着所有連接的用戶都會看到對全局變量的任何修改(如果有的話)。
  • 因爲MVC是一種架構模式,所以單獨使用express的nodeJS不是MVC。如果您想創建文件夾來定義MVC模式或hMVC模式(取決於您的需要),您可以。一個叫做SAILS的更大的框架爲你提供原生的MVC。
  • 要啓動一個nodeJS項目,你必須cli節點yourApp.js。也就是說,有一種更好的方法可以使用放置在由npm管理的package.json中的腳本或使用其他npm軟件包(如nodemon)來啓動項目。沒有特定的文件夾來啓動像PHP這樣的項目,因爲PHP由Apache管理,並且Apache被配置爲具有html文檔的特定文件夾。
  • 要添加的其他東西:
  • Javascript使用EcmaScript作爲腳本語言。 ES的第6版已於2015年夏季完成,所有瀏覽器仍不會自行負責。由於nodejs使用谷歌的v8引擎,它仍然基於ES5.1或實驗ES6,在cli中使用--hamrony標誌調用節點。由於node5實現了許多ES6功能,但仍然不是全部。
  • NodeJS是異步的,異步調用很難學習,當你來自php的話。你需要很多練習。我建議你去閱讀模塊模式和揭示模式。

我希望我已經回答了找你的問題