时钟案例的注意点:
1. fs.writeFile() 只能创建文件,不能创建路径
2. 重复调用fs.writeFile()写入同一个文件时, 新内容会覆盖旧内容
http模块:
专门用来创建 web 服务器的模块,node.js官方提供
http 模块提供的 http.createServer()
服务器和普通电脑的区别:
服务器上安装了 web 服务器软件。
IIS、Apache等等
web 服务器软件:
容器(专业术语)
node.js 不需要容器,直接运行在系统层面
域名和域名服务器:
域名服务器是提供 IP地址和域名之间的转换服务的服务器。
IP地址和域名之间是 一一对应的关系
这份对应的关系存放在一种叫做 域名服务器(DNS)的电脑中
端口号:
客户端发送的网络请求,通过端口号可以准确的交给 对应的文本服务进行处理
实际应用中, URL中的80端口可以被省略
每个端口的不可以同时被多个web服务占用
创建基本的web服务器:
1. 导入 http 模块
require('http)
2. 创建 web 服务器实例
http.createServer()
3. 为服务器实例绑定 request 事件, 监听客户端的请求
server.on('request' ,function() {} )
server.on('request' , function(req, res) {
console.log('Someone visit our web server.');
} )
4. 启动服务器
server.listen
server.listen(8080, function() {
console.log('server running at http://127.0.0.1:8080');
})
ctrl+c 停止旧服务
模块化:
把复杂的JS文件拆分为多个单一功能的js文件
在Node.js中, 一个模块就是一个JS文件
Node.js中模块的分类:
内置模块: 官方提供,如fs\path\http
自定义模块: 用户创建的 .js 文件
第三方模块: (第三方开发出来的模块) 使用前需先下载
加载模块:
使用 require() 方法,可以加载使用
内置: require('fs') 名称
自定义: require('./custom.js') 路径
第三方:require('moment') 名称
注意点:
加载用户自定义模块期间,可以省略后缀名
模块作用域的好处:
防止了全局变量的问题污染
共享成员的注意点:
使用require() 方法导入模块时, 导入的结果, 永远以 module.exports 指向的对象为准
为了防止混乱,尽量不不要在同一页面中同时使用