《一个最简单的 express 应用》

    访问 http://localhost:3000/ 时,输出 你好,世界

    1. 包管理器 npm 。使用 npm 安装包,并自动安装所需依赖。
    2. 框架 express 。学习新建 express 实例,并定义 routes ,产生输出。

    按照惯例,我们来个 helloworld 入门。

    npm 可以自动管理包的依赖. 只需要安装你想要的包, 不必考虑这个包的依赖包.

    在 PHP 中, 包管理使用的 Composer, python 中,包管理使用 easy_install 或者 pip,ruby 中我们使用 gem。而在 Node.js 中,对应就是 npm,npm 是 Node.js Package Manager 的意思。

    express 是 Node.js 应用最广泛的 web 框架,现在是 4.x 版本,它非常薄。跟 Rails 比起来,完全两个极端。

    express 的官网是 ,我常常上去看它的 API。

    首先我们需要得到一个 express。

    不同于 ruby 的 gem 装在全局,Node.js 的依赖是以项目为单位管理的,直接就安装在项目的 node_modules 目录下,而且每个依赖都可以有指定版本的其他依赖,这些依赖像一棵树一样。根据我自己的使用经验来说,npm 的体验在 pip 和 gem 之上。

    安装完成后,我们的 lesson1 目录下应该会出现一个 文件夹,ls 看看

    1. $ ls node_modules

    里面如果出现 express 文件夹则说明安装成功。

    或者 npm命令提供更清晰直观的显示:

    我们继续应用程序的编写。

    新建一个 app.js 文件

    1. $ touch app.js

    copy 进去这些代码

    执行

    $ node app.js

    在这个例子中,node代码监听了3000端口,用户通过访问http://localhost:3000/ 得到了内容,为什么呢?

    端口的作用:通过端口来区分出同一电脑内不同应用或者进程,从而实现一条物理网线(通过分组交换技术-比如internet)同时链接多个程序
    Port_(computer_networking))

    端口号是一个 16位的 uint, 所以其范围为 1 to 65535 (对TCP来说, port 0 被保留,不能被使用. 对于UDP来说, source端的端口号是可选的, 为0时表示无端口).

    app.listen(3000),进程就被打标,电脑接收到的3000端口的网络消息就会被发送给我们启动的这个进程

    定义的url格式笼统版本,
    scheme有我们很熟悉的httphttpsftp,以及著名的ed2kthunder

    通常我们熟悉的url定义成这个样子

      用过ftp的估计能体会这么长的,网页上很少带auth信息,所以就精简成这样:

      在上面的例子中, scheme=http, host=localhost, port=3000, url-path=/, 再联想对照一下浏览器端window.location对象。
      著名的localhost,你可以在电脑的hosts文件上找到

      在了解完端口和url之后,再去看例子代码,相信应该好理解很多。
      有必要的话,还可以在解刨一下express的use逻辑,对峙http.createServer,相信还有火花,:)