编程手札咨询|Node实战002:一个简单的hello world实例


在任意位置创建一个项目目录 , 进入该目录进行Node初始化 。 在该目录中打开cmd命令窗口 , 执行命令:npm init -y即可初始化建立node项目 。 执行初始化之后会在当前目录生成一个package.json文件(当然package.json文件也可以手动编写) , 该文件指定了项目的基本配置信息(比如名称、版本、描述、入口、脚本、关键词、作者、许可证等元数据) 。 如果需要手动创建package.json配置注意需要严格遵循JSON书写格式 , 否则容易出现错误 。
编程手札咨询|Node实战002:一个简单的hello world实例
本文插图


每个项目的根目录下面一般都有一个package.json文件 , 该文件定义了项目所需要的各种模块以及项目的配置信息 。 当我们使用npm install命令安装依赖包时就是根据这个配置文件来自动下载所需的模块 , 该文件指定了项目配置所需的运行条件和开发环境 。 package.json文件是一个JSON对象 , 每个成员对应项目的一项设置 。 下面是package.json文件中常见的一些配置说明 , 这里需要注意的是module 字段 。 早期没有ES6模块化方案时是遵循CommonJS 规范以main指定入口文件 , ES6的推出使得模块化方案效率更高 。 所以node会优先查看是否有module字段 , 当没有指定module时则使用main字段指定入口 。 这个在之前的文章【Vue实战059:NPM配置国内镜像源及使用】中也有提到过 , 这里还是在说明一下吧 。
【编程手札咨询|Node实战002:一个简单的hello world实例】编程手札咨询|Node实战002:一个简单的hello world实例
本文插图


这里我们从package.json文件的main属性中知道当前项目指定了index.js文件作为入口 , 所以这里我们新建一个index.js文件(文件名只能是英文字母、数字和下划线的组合)来实现hello world输出 。 在index.js文件中输入简单的:console.log('Hello world !') , console.log()是用来打印输出内容的 。 保存index.js文件(注意用UTF-8格式保存)后在cmd窗口通过node执行index.js(后缀可以省略)文件 , 这时候我们就可以在窗口中看到输出了:Hello world! 。
编程手札咨询|Node实战002:一个简单的hello world实例
本文插图

上面这个Hello world是不是很简单 , 我们再来搭建个Web服务器输出Hello world 。 搭建服务器我们需要用到核心模块:http , 该模块提供了创建web服务器的API 。 http通过createServer方法创建web服务并返回一个server实例 , 实例可以实现request请求注册和端口监听等事件 。 当在客户端输入服务ip和端口就会被监听到 , 服务器接收到响应就可以进行处理请求 。 在请求对象req中包含有请求的方法、Url、Http协议和请求头等信息 , 通过req对象的属性可以获取到请求体中的数据 。 返回给浏览器的内容可以通过 res的write方法和end方法进行发送 , write方法不会断开连接 , 所以在响应之后需要再使用end方法来断开与客户端的连接 。

编程手札咨询|Node实战002:一个简单的hello world实例
本文插图

创建完成之后我们在cmd窗口通过node执行index.js文件 , 这时候Web服务就启动好了 。 打开浏览器并输入:就可以访问服务 。 我们通过浏览器访问自己的服务器 就会触发 request事件 , 事件会执行相应的回调函数并处理请求 。 处理后的内容通过我们自己Node服务器的res对象返回给了浏览器 , 这样我们就在浏览器上看到了响应内容:Hello world 。
编程手札咨询|Node实战002:一个简单的hello world实例
本文插图

Node提供了几个比较重要的模块来搭建Web服务器 , 其中http协议、文件系统、Url解析、路径解析以301重定向等是常用的模块 。 利用这些模块我们可以轻松地搭建Web服务 , 当访问该服务器时就可以通过Url访问服务器来获取对应的Web服务 。 以上内容是小编给大家分享的【Node实战002:一个简单的hello world实例】 。 希望对大家有所帮助 , 如果大家有任何疑问请给我留言 , 小编会及时回复大家的 。


推荐阅读