2016-01-08 42 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的话。你需要很多练习。我建议你去阅读模块模式和揭示模式。

我希望我已经回答了找你的问题