【问题标题】:Node js/Express to replace LAMPNode js/Express 替换 LAMP
【发布时间】:2016-01-08 20:08:26
【问题描述】:

我需要 NodeJS 忍者的帮助。在做了很多 LAMP 的东西之后,我开始学习它。我已经用 Apache/PHP/MySQL 为小型企业内部网编写了几个系统(包括票务系统、员工调度、生产报告、财务报告等)。

所以,在 LAMP 世界中,我启动了 Apache 和 MySQL 引擎。然后人们打开他们的浏览器,输入服务器 IP 并根据 htdocs 中的文件夹浏览我为他们编写的不同系统。

我正在尝试使用 MVC 模型(我也是新手)设置 NodeJS 和 Express 中的等效项。两个主要问题:

  1. 因为我有几个系统(员工调度、财务 报告等),它们中的每一个是否都有自己的中间件进行管理,以及它们的中间件规则等等?还是它们都只在一个主线程下运行? (负载平衡是另一件事)。
  2. 文件夹布局是什么? XAMPP 有 htdocs 文件夹,文件夹结构是我想要的。

根据我在大多数教程中看到的,文件夹布局的一个选项是:

-应用程序 -- 控制器 - 楷模 -- 路线 -- 意见 -配置 -- 环境 -node_modules -public(我想我实施的系统会在这里?) -server.js

感谢您的帮助,我仍然是一个完全的菜鸟,但我很高兴能进入这个领域。

【问题讨论】:

  • 文件夹结构也可以是任何你想要的节点项目。不过,您最好还是使用一个固执己见的框架——它已经为您做出了大部分决定。我建议 SailsJS,但项目中存在一些分歧——导致一些开发人员从新开始使用 TrailsJS。您可以在这里找到一些节点框架建议:designpixy.com/2015/node-js-frameworks-2015
  • 搜索关于路由的信息。看一眼 SLIM (PHP)(我认为它是从 Sinatra (Ruby) 借来的),然后再跨步。

标签: php node.js apache express xampp


【解决方案1】:

我来自 LAMP stack word 并在 2 年前搬到了 nodeJS。从那以后发生了很多变化。

你需要知道的关于 nodeJS 与 PHP 的事情:

  • nodeJS 在 google 的 JavaScript V8 引擎下运行。
  • nodeJS 是单线程的。 PHP是多线程的。这意味着所有连接的用户都可以看到对全局变量的任何修改(如果有的话)。
  • 仅使用 express 的 nodeJS 不是 MVC,因为 MVC 是一种架构模式。如果您想创建文件夹来定义 MVC 模式或 hMVC 模式(取决于您的需要),您可以。一个名为 SAILS 的更大框架为您执行原生 MVC。
  • 要启动 nodeJS 项目,您必须 cli node yourApp.js。也就是说,有一种更好的方法可以使用放置在由 npm 管理的 package.json 中的脚本或使用其他 npm 包(例如 nodemon)来启动项目。没有特定的文件夹来启动像 PHP 这样的项目,因为 PHP 由 Apache 管理,而 Apache 被配置为具有用于 html 文档的特定文件夹。
  • 其他要补充的内容:
  • Javascript 使用 EcmaScript 作为脚本语言。 ES 的第 6 版于 2015 年夏天完成,所有浏览器仍然没有原生负责它。由于nodejs使用的是google的v8引擎,所以还是基于ES5.1或者实验性的ES6,在cli中调用node的--hamrony标志。从 node5 开始,许多 ES6 特性都实现了,但还不是全部。
  • NodeJS 是异步的,当你来自 php 词时,异步调用很难学习。你将需要很多练习。我建议你去阅读模块模式和显示模式。

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

【讨论】:

    猜你喜欢
    • 2022-08-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-11-12
    • 2017-08-07
    • 2016-06-25
    • 1970-01-01
    相关资源
    最近更新 更多