当前位置: 首页 > news >正文

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

在这里插入代码片

相关文章:

  • C++:C++内存管理
  • 题单:表达式求值1
  • 什么是差分传输?
  • 信任的进阶:LEI与vLEI协同推进跨境支付体系变革
  • 深入理解构造函数,析构函数
  • C语言内存管理:深入理解堆与栈
  • OpenResty 深度解析:构建高性能 Web 服务的终极方案
  • SpringBootAdmin:全方位监控与管理SpringBoot应用
  • 第三十五节:特征检测与描述-ORB 特征
  • 【数据结构】_二叉树
  • LVGL(lv_dropdown下拉列表控件)
  • 系统架构设计(六):面向对象设计
  • 一周学会Pandas2 Python数据处理与分析-Pandas2数据添加修改删除操作
  • 数据结构与算法-线性表-循环链表(Circular Linked List)
  • PySide6 GUI 学习笔记——常用类及控件使用方法(常用类颜色常量QColorConstants)
  • 关于软件测试开发的一些有趣的知识
  • 使用Python和Selenium打造一个全网页截图工具
  • 使用Maven和Ant上传文件到Linux服务器
  • Linux面试题集合(1)
  • C语言输入函数对比解析
  • 高飞已任南航集团党组副书记
  • “GoFun出行”订单时隔7年扣费后续:平台将退费,双方已和解
  • 总奖金池百万!澎湃与七猫非虚构写作与现实题材征文大赛征稿启动
  • 中国恒大披露清盘进展:要求债权人提交债权证明表
  • ESG考证虚火:相比证书,知识结构+实战经验更重要
  • 商务部:中方敦促美方尽快停止232关税措施