一、node.js的安装
- 首先去官网上下载好node.js的安装包node.js的官方网站https://nodejs.org…
- 下载好之后直接点击开始安装然后一直下一步就好了
- 验证安装是否成功在cmd中输入node -v查看安装node的版本
- 现在就可以开始node.js的学习了
二、简单的写一点node的小程序
在开始了解node.js之前需要会一些预备的知识
- HTML
- CSS
- JavaScript
- 简单的cmd操作
1、node.js的HelloWorld
- 首先创建一个Hello.js的文件
- 然后在文件中写上下面的代码
console.log('HelloWorld!')
复制代码
3.然后打开cmd切到文件所在的文件夹输入node Hello.js就会输出HelloWorld!
这样就算写了一个简单的node.js的程序了,虽然没什么用
2、简单的读取文件
浏览器中的JavaScript是没有办法直接去操作你电脑系统中的文件的但是node.js具有这种操作文件的能力
//1、想要在node.js的环境下通过JavaScript来操作系统上的文件的话就必须先导入node的核心模块fs
var fs = require('fs')
//2、导入核心模块fs之后需要去用readFile这个方法来读取文件,这个方法有两个参数
//第一个参数是文件所在的路径
//第二个是回调函数
//回调函数也有两个参数
//第一个是data,第二个是error
//当文件读取成功的时候data中存储的是读取的文件中的数据,error则为null
//当文件读取失败的时候data为null,error则为错误对象
fs.readFile('./txt/hello.txtx',function(error,data){
console.log('data:'+data);
console.log('error:'+error);
})
复制代码
读取文件成功:
读取文件失败:
3、简单的写入文件
//node写入文件也是一样的需要导入fs模块
var fs = require('fs')
//导入模块后调用fs模块的writeFile方法,这个方法有三个参数
//第一个参数是写入文件的存储路径
//第二个是写入文件的内容
//第三个是回调函数
// 这个回调函数有一个参数error当文件写入成功的时候为null
// 失败的时候会返回一个对象里面有报错信息
fs.writeFile('./hello.txt','你好node.js',function(error){
console.log(error)
})
复制代码
4、用node.js创建一个简单的服务器
//创建服务器需要导入node的一个核心模块
var http = require('http')
//然后通过http.creatServer()方法创建一个web服务器并返回一个sever的实例
var server = http.creatServer()
//然后通过这个server.on注册request请求事件
//当客户端请求过来,会触发服务器的request请求然后执行第二个参数回调函数
//这个回调函数有两个参数request,response可以通过request拿到一些有关请求的一些数据
//通过response想页面去返回一些数据
server.on('request',function(request,response){
console.log('收到请求'+request.url)
response.end('HelloNodeJs')
})
//然后通过server.listen()方法绑定端口号启动服务器
//listen有两个参数第一个是端口号后面一个是回调函数
server.listen(8080,function (){
console.log('服务器已启动')
})
复制代码
然后启动node服务器:
访问服务器
但是照着以上代码去写,返回时如果有中文就会出现乱码问题:
那这个问题的解决方法就是在返回内容的代码上面加上
response.setHeader('Content-Type','text/plain; charset-utf-8')复制代码
这个代码是设置响应头用的浏览器默认使用的是计算机操作系统的编码格式,我们使用的中文操作系统的编码格式是GBK,但是我们代码所使用的的编码格式是utf-8的格式,所以我们的响应过去的内容需要设置响应内容的编码格式。
有一个格式对照表:tool.oschina.net/commons
用这个就可以对应文件扩展名选择传输格式。
三、Node.js的模块
1.Node中的JavaScript
node中的JavaScript和浏览器当中的js有些不同,node.js没有DOM和BOM。它主要是由:
- EcmaScript
- 核心模块
- 第三方模块
- 自定义模块
2.Node.js核心模块
node.js的核心模块有很多每一个都是每一个都是由Node提供的具名的模块,都有着自己专属的名称和标识,例如:
- fs
- http
- os
- ......
可以去官网文档看看:nodejs.org/dist/latest…
使用方法使用require方法引入核心模块:
var fs = require('fs')复制代码
3.自定义模块
自定义模块简单的理解就是自己写的代码,使用方法和引入核心模块是一样的但是有些地方需要注意
require
加载只是执行其中的代码并不能获取其中的对象,作用域只在自己当前所处文件当中,模块是完全封闭的,外部的模块无法访问内部的内容,内部也无法访问外部的- 但是模块之间是需要相互通信的,所以每一个模块中都会提供一个对象:
exports。
如果你需要将成员变量被外部访问到那么你就需要把成员挂载到exports
接口当中
接下来简单的举一个自定义模块加载的例子:
a.js
console.log('我是模块a,开始加载模块b')
var b = require('./b.js')
console.log('模块b加载完毕')
复制代码
b.js
console.log('我是模块b')
复制代码
运行模块a.js之后的结果: