参考
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是null
console.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是null
var 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
在这里插入代码片