NodeJs
标签(空格分隔): nodejs
一.Node.js 安装配置
- 官网下载安装包,点击安装,下一步,选择安装路径,勾选自动安装所需要的工具,如遇如下报错:
PowerShell安装chocolatey时遇到“请求被中止: 未能创建 SSL/TLS 安全通道”
管理员身份运行PowerShell,执行语句
[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12
然后执行
Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).Downloa
dString('https://chocolatey.org/install.ps1'))
安装成功
运行cmd
执行node 运行js环境
执行node -v 查看版本
二.Node.js交互解释器
cmd 运行node
输入js代码,即可快速运行结果,用于调试运行
.help 查看全部命令
三.编辑器运行代码
新建.js文件,右键运行在终端
npm包安装,淘宝镜像安装
express安装,开启一个服务器地址
四.模块机制
CommonJS规范
模块引用:通过require方法同步加载所依赖的模块
模块定义:一个文件就是一个模块,提供exports对象导出当前模块的变量和方法
模块标识:传递给require()方法的参数字符串或文件路径
模块的导入
let demo = require("./export")
demo.fn()
模块的导出
function fn(){
console.log('fn');
}
let student = {
name: 'Fish'
}
module.exports = {
fn, student
}
//或
exports.fn = fn
五.路径解析规则,node包
npm init
package.json
六.文件系统(File System简称fs)
- 文件同步写入
let fs = require('fs')
//同步打开文件(文件名,打开方式)
let fd = fs.openSync('text.txt','w')
//写入内容
let str = "今天是个好日子"
fs.writeFileSync(fd,str);
//退出文件
fs.closeSync(fd);
- 文件异步写入
fs.open('text2.txt','w',(err,fd)=>{
console.log('就这?打开文件')
fs.writeFile(fd,'你是吃德芙长大的吗?这么丝滑。',function (err) {
if(!err){
console.log('写入成功')
fs.close(fd,()=>{
console.log('文件已关闭')
})
}else{
console.log(err)
}
})
})
- 文件流写入
let fs = require('fs');
//创建写入流
let ws = fs.createWriteStream('text3.txt');
ws.once('open',()=>{
console.log('通道打开,可批量写入');
ws.write('就这?')
ws.write('你在教我做事?')
ws.write('离谱')
//写入结束
ws.end()
})
//监听通道关闭
ws.once('close',()=>{
console.log('通道关闭')
})
- 文件读取
let fs = require('fs')
fs.readFile('text3.txt',(err,data)=>{
if(!err){
console.log(data);//二进制
console.log(data.toString());//转字符串
}else{
console.log('err',err);
}
})
- 图片读取
let fs = require(