编程手札咨询|Node实战002:一个简单的hello world实例
在任意位置创建一个项目目录 , 进入该目录进行Node初始化 。 在该目录中打开cmd命令窗口 , 执行命令:npm init -y即可初始化建立node项目 。 执行初始化之后会在当前目录生成一个package.json文件(当然package.json文件也可以手动编写) , 该文件指定了项目的基本配置信息(比如名称、版本、描述、入口、脚本、关键词、作者、许可证等元数据) 。 如果需要手动创建package.json配置注意需要严格遵循JSON书写格式 , 否则容易出现错误 。
本文插图
每个项目的根目录下面一般都有一个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实例】
本文插图
这里我们从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! 。
本文插图
上面这个Hello world是不是很简单 , 我们再来搭建个Web服务器输出Hello world 。 搭建服务器我们需要用到核心模块:http , 该模块提供了创建web服务器的API 。 http通过createServer方法创建web服务并返回一个server实例 , 实例可以实现request请求注册和端口监听等事件 。 当在客户端输入服务ip和端口就会被监听到 , 服务器接收到响应就可以进行处理请求 。 在请求对象req中包含有请求的方法、Url、Http协议和请求头等信息 , 通过req对象的属性可以获取到请求体中的数据 。 返回给浏览器的内容可以通过 res的write方法和end方法进行发送 , write方法不会断开连接 , 所以在响应之后需要再使用end方法来断开与客户端的连接 。
本文插图
创建完成之后我们在cmd窗口通过node执行index.js文件 , 这时候Web服务就启动好了 。 打开浏览器并输入:就可以访问服务 。 我们通过浏览器访问自己的服务器 就会触发 request事件 , 事件会执行相应的回调函数并处理请求 。 处理后的内容通过我们自己Node服务器的res对象返回给了浏览器 , 这样我们就在浏览器上看到了响应内容:Hello world 。
本文插图
Node提供了几个比较重要的模块来搭建Web服务器 , 其中http协议、文件系统、Url解析、路径解析以301重定向等是常用的模块 。 利用这些模块我们可以轻松地搭建Web服务 , 当访问该服务器时就可以通过Url访问服务器来获取对应的Web服务 。 以上内容是小编给大家分享的【Node实战002:一个简单的hello world实例】 。 希望对大家有所帮助 , 如果大家有任何疑问请给我留言 , 小编会及时回复大家的 。
推荐阅读
- 东西儿童教育|娃究竟要不要学编程?别急,报班前先看看这篇!
- 技术编程,小程序|企业或商家在开发小程序时,需要规避哪些问题?
- 技术编程|Python之父Guido van Rossum退休失败,正式加入微软
- 互联网|天猫双11商家服务咨询量超25亿
- 百思特管理咨询|任正非警告华为:方向可以大致正确,组织必须充满活力
- 企业|企业管理咨询O2O教育领域先行者——微观学社是如何帮传统企业逆天改命的?
- AI人工智能,技术编程|十大计算机视觉工具
- 华起咨询|公司设立期权池,长久发展的源泉!
- 技术编程,AI人工智能|性能超越图神经网络,将标签传递和简单模型结合实现SOTA
- 技术编程|网络安全的重要性:增强公共DHT,抵御Eclipse攻击!