nodejs菜鸟进阶之路

### nodejs菜鸟进阶之路

    作为一个iOS开发,看到nodejs,第一反应是,这么什么?

    对于一个未知事物,我们要秉承三个问题?

    What?

    Why?

    How?

#### What

    简而言之,是什么?

    Node.js是一个基于Chrome JavaScript运行时建立的平台, 用于方便地搭建响应速度快、易于扩展的网络应用。Node.js 使用事件驱动, 非阻塞I/O 模型而得以轻量和高效,非常适合在分布式设备上运行数据密集型的实时应用。

#### Why

    为什么用它?

    RESTful API :客户端和服务器之间的交互在请求之间是无状态的

    单线程 :      Node.js可以在不新增额外线程的情况下,依然可以对任务进行并行处理 —— Node.js是单线程的。它通过事件轮询(event loop)来实现并行操作,对此,我们应该要充分利用这一点 —— 尽可能的避免阻塞操作,取而代之,多使用非阻塞操作。

    非阻塞IO:

    V8虚拟机

    事件驱动

#### How

    其实上面都是扯淡了,现在才是真正的开始。

### nodejs初始

#### 前奏

      我们需要去了解一下npm  或者yarn命令的使用,这是基础哦!

#### 安装

    这个大家去网上找相应教程即可,通过npm\yarn执行相应命令就可以了,当然,也可以使用docker之类的高级工具。

#### 第一个项目

    ```

    var http = require('http');

        http.createServer(function (request, response) {

        response.writeHead(200, {'Content-Type': 'text/plain'});

        response.end('Hello World\n');

    }).listen(8888);

    ```

    是的,你没有看错,就是这几行代码,(尼玛。。。)

    你创建一个js文件,命令行输入 node server.js就起来了。

    然后访问127.0.0.1就能看到 Hello World了

    如果你只想知道什么是node,看到这里,你可以撤了!

### eggjs

    我这边做的项目是基于eggjs开发的,所以主要以介绍eggjs为主。

#### eggjs项目主要目录及文件

    接手一个项目,了解文件目录是必要的,方便后期问题代码定位。

#### 一级目录

    app:          项目代码编码区

    config        项目配置区

    app.js        项目对象,有些时候不存在

    package.json  项目包管理文件


    主要介绍app文件目录,其他目录各位自行去其他项目扒,基本上都是死的。

#### app目录

    app/router.js 用于配置URL路由规则。

    app/controller/ 用于解析用户输入,处理后返回响应结果。

    app/extend/ 用于框架内部对象的拓展(request,response,context,application)和工具类(helper)的编写。

    app/middleware/ 用于编写中间件。

    app/service/ 用于编写业务逻辑,如数据库操作的封装,api请求的封装等。

    app/public/ 用于放置静态文件。

    app/view/ 用于放置模板文件。

    app/model/ 用于放置数据模型。

    app/router/ 用户放置分离的路由

本期先介绍到这儿,下期介绍,项目必要安装包。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

友情链接更多精彩内容