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

javascript 复制代码
var a="hello world";
console.log(a)

执行:node index.js

文件操作

javascript 复制代码
var fs=require('fs') // 引入api 转为fs对象
console.log(fs) // 打印出fs模块里有的api
复制代码
{
  appendFile: [Function: appendFile],
  appendFileSync: [Function: appendFileSync],
  access: [Function: access],
  accessSync: [Function: accessSync],
..........................
}

读取

javascript 复制代码
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)
    }
})

覆盖写入

javascript 复制代码
var fs=require('fs') // 引入api
fs.writeFile('./a.txt','6666',function(err){
    if(err) throw err;
    console.log('写入成功');
})

追加

多个api综合

javascript 复制代码
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

javascript 复制代码
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

javascript 复制代码
var username="wang"

m2.js

javascript 复制代码
var username="hhhhhh"

m.html

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

javascript 复制代码
在这里插入代码片
相关推荐
醉方休5 小时前
npm/pnpm软链接的优点和使用场景
前端·npm·node.js
一支鱼5 小时前
基于 Node.js 的短视频制作神器 ——FFCreator
前端·node.js·音视频开发
龙潜月七5 小时前
Joplin-解决 Node.js 中 “digital envelope routines::unsupported“ 错误
node.js
不知名raver(学python版)1 天前
npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR!
前端·npm·node.js
惜.己1 天前
针对nvm不能导致npm和node生效的解决办法
前端·npm·node.js
上单带刀不带妹1 天前
Node.js 的模块化规范是什么?CommonJS 和 ES6 模块有什么区别?
前端·node.js·es6·模块化
cdcdhj1 天前
数据库存储大量的json文件怎么样高效的读取和分页,利用文件缓存办法不占用内存
缓存·node.js·json
HWL56792 天前
在本地使用Node.js和Express框架来连接和操作远程数据库
node.js·express
Sammyyyyy2 天前
Node.js 做 Web 后端优势为什么这么大?
开发语言·前端·javascript·后端·node.js·servbay
妮妮喔妮2 天前
Webpack 有哪些特性?构建速度?如何优化?
前端·webpack·node.js