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

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

在这里插入代码片
http://www.lryc.cn/news/2379875.html

相关文章:

  • FP8精度革命:Hopper架构下大模型训练的误差传播控制方法
  • 手动制做一个Transformer
  • 已解决——如何让网站实现HTTPS访问?
  • WebRTC技术EasyRTC嵌入式音视频通信SDK助力智能电视搭建沉浸式实时音视频交互
  • Unreal Engine: Windows 下打包 AirSim项目 为 Linux 平台项目
  • Spring MVC HttpMessageConverter 的作用是什么?
  • 小乌龟git中的推送账户、作者账户信息修改
  • Kubernetes MCP服务器(K8s MCP):如何使用?
  • Node.js聊天室开发:从零到上线的完整指南
  • R²AIN SUITE 亮相第九届智能工厂高峰论坛
  • 深入理解仿函数(Functors):从概念到实践
  • InternLM 论文分类微调实践(XTuner 版)
  • 《Python星球日记》 第88天:ChatGPT 与 LangChain
  • PC:使用WinSCP密钥文件连接sftp服务器
  • 1688正式出海,1688跨境寻源通接口接入,守卫的是国内工厂资源
  • 力扣303 区域和检索 - 数组不可变
  • Spring的后置处理器是干什么用的?扩展点又是什么?
  • [ linux-系统 ] 进程地址空间
  • 文件名是 ‪E:\20250512_191204.mp4, EV软件录屏,未保存直接关机损坏, 如何修复?
  • Java常见API文档(下)
  • DRIVEGPT4: 通过大语言模型实现可解释的端到端自动驾驶
  • 知识图谱(KG)与大语言模型(LLM)
  • 构建共有语料库 - Wiki 语料库
  • 苍穹外卖项目中的 WebSocket 实战:实现来单与催单提醒功能
  • 精益数据分析(59/126):移情阶段的深度博弈——如何避开客户访谈的认知陷阱
  • Win10 安装单机版ES(elasticsearch),整合IK分词器和安装Kibana
  • Ansible模块——主机名设置和用户/用户组管理
  • 【Redis】List 列表
  • JUC入门(四)
  • 【HarmonyOS 5】鸿蒙mPaaS详解