Node.js学习笔记3(快速入门)

余生颓废 提交于 2020-03-30 04:16:02
       一.开始使用Node.js编程
 
        1.hello world
 
        好了,让我们开始实现第一个 Node.js 程序吧。打开你常用的文本编辑器,在其中输入:  
      
       console.log('Hello World'); 
        将文件保存为 helloworld.js,打开终端,进入 helloworld.js 所在的目录,执行以下命令:  
       node helloworld.js 
        如果一切正常,你将会在终端中看到输出  Hello World。console  是 Node.js 提供的控制台对象,其中包含了向标准输出写 
入的操作,如 console.log、console.error 等。console.log 是我们最常用的输出 指令,它和 C 语言中的 printf 的功能类似,也可以接受任意多个参数,支持 %d、%s 变 量引用,例如:  
        //consolelog.js
        console.log('%s: %d', 'Hello', 25)
        
        2.Node.js命令行工具
 
        输入  node --help 可以看到详细的帮助信息。
        其中显示了 node 的用法,运行 Node.js 程序的基本方法就是执行 node script.js, 其中 script.js是脚本的文件名。
        除了直接运行脚本文件外,node --help 显示的使用方法中说明了另一种输出 Hello World 的方式:  
        $ node -e "console.log('Hello World');"
        Hello World
        我们可以把要执行的语句作为 node -e 的参数直接执行。 
        REPL (Read-eval-print loop),即输入—求值—输出循环。如果你用过 Python,就会知 道在终端下运行无参数的 python 命令或者使用 Python IDLE 打开的 shell,可以进入一个即 时求值的运行环境。Node.js 也有这样的功能,运行无参数的  node  将会启动一个 JavaScript  的交互式 shell。
        如果你执行了一个函数,那么 REPL 还会在下面显示这个函数的返回 值,上面例子中的 undefined 就是 console.log 的返回值。如果你输入了一个错误的 指令,REPL 则会立即显示错误并输出调用栈。在任何时候,连续按两次 Ctrl + C 即可推出  Node.js 的 REPL 模式。
        
        3.建立Http服务器
        
        Node.js 是为网络而诞生的平台,但又与 ASP、PHP 有很大的不同,究竟不同在哪里呢? 如果你有 PHP 开发经验,会知道在成功运行 PHP 之前先要配置一个功能强大而复杂的 HTTP  服务器,譬如 Apache、IIS 或 Nginx,还需要将 PHP 配置为HTTP 服务器的模块,或者使用  FastCGI 协议调用 PHP 解释器。这种架构是“浏览器  HTTP 服务器  PHP 解释器”的组织 方式,而Node.js采用了一种不同的组织方式,如图3-1 所示。
        我们看到,Node.js 将“HTTP服务器”这一层抽离,直接面向浏览器用户。这种架构 从某种意义上来说是颠覆性的,因而会让人心存疑虑:Node.js作为HTTP服务器的效率 足够吗?会不会提高耦合程度?我们不打算在这里讨论这种架构的利弊,后面章节会继续 说明。
        
        让我们创建一个 HTTP 服务器吧。建立一个名为 app.js 的文件,内容 为: 
        var http = require('http');
 
        http.createServer(function(req,res){
                 res.writeHead(200,{"Content-Type":"text/html"});
                 res.write("<h1>Node.js</h1>");
                 res.end("<h1>Hello,world</h1>");
        }).listen(3000);
        console.log("Http Server  is listening at port 3000");
        接下来运行 node app.js命令,打开浏览器访问 http://127.0.0.1:3000
        如果你有 PHP 开发经验,会习惯在修改 PHP 脚本后直接刷新浏览器以观察结果,而你 在开发 Node.js 实现的 HTTP 应用时会发现,无论你修改了代码的哪一部份,都必须终止  Node.js 再重新运行才会奏效。这是因为 Node.js 只有在第一次引用到某部份时才会去解析脚 本文件,以后都会直接访问内存,避免重复载入,而 PHP 则总是重新读取并解析脚本(如 果没有专门的优化配置)。Node.js的这种设计虽然有利于提高性能,却不利于开发调试,因 为我们在开发过程中总是希望修改后立即看到效果,而不是每次都要终止进程并重启。  supervisor 可以帮助你实现这个功能,它会监视你对代码的改动,并自动重启 Node.js。
        使用方法很简单,首先使用 npm 安装 supervisor: 
        $ npm install -g supervisor 
        如果你使用的是 Linux 或 Mac,直接键入上面的命令很可能会有权限错误。原因是 npm 需要把 supervisor 安装到系统目录,需要管理员授权,可以使用  sudo npm install -g  supervisor 命令来安装。 
        接下来,使用 supervisor 命令启动 app.js:
        $ supervisor app.js
         当代码被改动时,运行的脚本会被终止,然后重新启动。
        
标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!