当前位置: 首页 > 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

在这里插入代码片
http://www.dtcms.com/a/196951.html

相关文章:

  • 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语言输入函数对比解析
  • 线性回归策略
  • STM32实战指南:SG90舵机控制原理与代码详解
  • javaDoc
  • 基于大疆Mini 3无人机和指定软件工具链的完整3D建模工作
  • STM32IIC协议基础及Cube配置
  • 小刚说C语言刷题—1230蝴蝶结
  • 虚拟主播肖像权保护,数字时代的法律博弈
  • 5.27本日总结
  • BiliTools v1.3.7 哔哩哔哩工具箱
  • QT+EtherCAT 主站协议库—SOEM主站