Node语法的基础使用
js文件运行
一般情况下,我们要想运行js文件,就先将其引入到html中,在利用html来打印和运行,不过现在有node就不需要这么麻烦了。
创建test.js文件,内容如下:
console.log('123')
打开cmd,执行命令:node test.js即可运行
模块之间的引入
一般引入a模块引入b模块时,使用require(‘b.js’),然后再b模块中将在a模块中要使用的变量导出即可,如:exports={}
// a.js
let b = require('./b.js')
console.log(b.add(1,2)) // 3// b.js
function add(a,b){return a+b
}
exports.add = add
打开cmd命令:node a.js
文件操作模块-fs
node提供了专门对文件进行操作的文件fs模块,并且还有相关的方法readFile,writeFile等。具体使用方式如下:
fs.readFile(文件路径,编码格式,CallBack)
fs.writeFile(文件路径,要写入的数据,callBack)
//通过模块的名字fs对模块进行引用
const fs = require("fs");
//通过模块内部的readFile读取文件内容
fs.readFile("./02.module-a.js","utf-8",(err,doc) => {//如果读取出错err是一个对象 包含错误信息//如果文件读取正确 err是个null//doc是文件读取的结果console.log(err);console.log(doc);
});
// 往文件中写入数据的模块
fs.writeFile("./demo.txt","这是刚写入的文字,zsf",(err) => {//如果读取出错err是一个对象 包含错误信息//如果文件写入正确 err是个nullif(err!=null){console.log(err);return;}console.log("文件写入成功");
})
文件路径模块-path
因为一般情况下:
window上的路径分隔可以用/或者\来分隔的,如:public\asstes\或public/asstes/。
liunx上的路径分隔都是用/来分隔的,不然就错了,如:public/asstes/。
获取相对路径
// 引入path模块
let path = require('path')
// path的join方法,可以根据系统自动将逗号分开的路径重组并返回 // 不过,此时返回的pathname路径是相对路径
let pathname = path.join('async','111.txt')
// pathname = async/111.txt 或者 async/111.txt
获取绝对路径
我们在使用路径时如果想使用绝对路径,可以使用__dirname这个变量。
__dirname:表示当前文件所在的绝对路径
// 引入path模块
let path = require('path')
// path的join方法,可以根据系统自动将逗号分开的路径重组并返回 // 不过,此时返回的pathname路径是相对路径
let pathname = path.join(__dirname,'async','111.txt')
// pathname = C://async/111.txt 或者 C://async/111.txt
第三方模块的使用
npmjs.com:第三方模块的存储和分发仓库(目前模块有80多万个第三方模块)
npm:node的第三方模块管理工具
下载模块:
npm install 模块名称
卸载模块:
npm uninstall package 模块名称
第三方模块-nrm
nrm:可以自动将国内可用下载镜像源列举出来
npm的默认下载源是国外,因此我们一般下载模块时会非常的慢,所以我们创建的项目需要使用npm下载依赖时,可以使用nrm先获取国内的镜像源,然后通过nrm来使用这些镜像源,具体方式如下:
# 下载nrm镜像源
npm install nrm -g
# 列举国内可用的镜像源
nrm ls
# 切换npm的下载源
nrm use 【镜像源名称】
当然,我们也可以使用npm的命令方式来切换:
# 查看当前的镜像源
npm config get registry
# 切换npm的镜像源
npm config set registry https://registry.npmmirror.com/
# https://registry.npmmirror.com/这是最新的淘宝镜像源,自己在网上找