nodejs快速入门到精通1
参考
nodejs快速入门到精通
菜鸟教程-nodejs
nodejs官方文档
原因
视频免费 资料收费 笔记还是自己写吧
安装
nodejs官网
windows下:
#查看nodejs版本
node -v
#查看npm版本
npm -v
#设置npm为淘宝镜像源
npm config set registry https://registry.npmmirror.com/
环境
windows
vscode
中文简体插件
文心快码插件
live server
第一个代码
index.js
var a="hello world";
console.log(a)
执行:node index.js
文件操作
var fs=require('fs') // 引入api 转为fs对象
console.log(fs) // 打印出fs模块里有的api
{appendFile: [Function: appendFile],appendFileSync: [Function: appendFileSync],access: [Function: access],accessSync: [Function: accessSync],
..........................
}
读取
var fs=require('fs') // 引入api
//console.log(fs) // 打印出fs模块里有的api
fs.readFile('./a.txt','utf-8',function(err,data){if(err){ // err是nullconsole.log('读取失败')}else{console.log(data)}
})
覆盖写入
var fs=require('fs') // 引入api
fs.writeFile('./a.txt','6666',function(err){if(err) throw err;console.log('写入成功');
})
追加
多个api综合
var fs = require('fs') // 引入api
//console.log(fs) // 打印出fs模块里有的api
fs.readFile('./a.txt', 'utf-8', function (err, data) {if (!err) { // err是nullvar newData = data + '899889'fs.writeFile('./a.txt', newData, function (err) {if (err) throw err;console.log('追加成功');})}
})
单个api
var fs = require('fs') // 引入api
fs.appendFile('./a.txt', 'data to append', (err) => {if (err) throw err;console.log('The "data to append" was appended to file!');
});
总结:有捷径就不要走那么复杂的路
模块化编程
不使用模块化的问题
m1.js
var username="wang"
m2.js
var username="hhhhhh"
m.html
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title>
</head>
<body><script src="./m1.js"></script><script src="./m2.js"></script><script>alert(username);</script>
</body>
</html>
结论:重名时,后面加载的变量将替换前面的变量
问题:不利于团队开发 两个人开发 代码中都使用了username变量,两个变量冲突了,可以使用函数(匿名自定义函数)来区分,因为函数有作用域,或者放到不同的模块中
官方模块化开发规范
ex.js
在这里插入代码片