Node.js安装和基础使用

一、安装Node.js


Node.js安装方法

二、Node.js功能


  1. Node可以作为前端的一个工具去使用,通过NPM安装好用的工具。
  2. Node可以开发一些前端的工具。
  3. Node可以做服务器。
  4. 可以操作数据库并对外提供接口。
  5. 可以实现即时聊天程序。
  6. 可以制作一些好用的工具,比如编辑器。

三、Node.js的镜像配置


**配置淘宝镜像** 由于每次安装包需要走国外的网络,速度很慢,所以,淘宝帮我们在国内创建了一个NPM包托管网站,能够提升使用NPM装包时候的速度!
npm config set registry https://registry.npm.taobao.org --global
npm config set disturl https://npm.taobao.org/dist --global

下载工具包

  • Node.js的包管理器npm,是全球最大开源库生态系统。
  • 先使用npm init -y初始化一下包管理文件package.json,将来所有安装的包,都会记录都这个文件中
  • 使用npm install 包名 --save / --save-dev去安装包;其中,install可以简写成i:
  • --save可以简写成-S--save-dev可以简写成-D
  • npm uninstall 包名 --save / --save-dev或者npm remove 包名 --save / --save-dev;
  • npm i webpack -g,其中,-g表示全局安装某些包,通过-g安装的包都在C:\Users\用户名\AppData\Roaming\npm下面。
  • 配置yarn的国内淘宝镜像
yarn config set registry https://registry.npm.taobao.org --global
yarn config set disturl https://npm.taobao.org/dist --global

四、使用Node执行js代码的两种方式


  1. 直接在命令函中输入node,进行Node的REPL运行环境:
R:Read:读取用户输入的字符串内容
E:Evaluate:把用户输入的字符串,当做JS代码去解析执行
P:Print:打印输入Evaluate解析的结果
L:Loop:进入下一次循环
  1. 将Node代码写入到一个js文件中,然后通过node 要执行的JS文件路径去运行Node代码。

五、Node中的内置模块之fs


  1. fs模块是Node.js中的核心内置模块之一。
  2. 主要是用来读写文件的。

读取文件的数据

// fs模块是node在已安装完了的情况下,就会直接存在的,可以直接使用,但是得先引用一下
// 核心API(模块):Node官方,发现有一些模块使用非常频繁,于是就把这些使用狠频繁的模块,编译成了二进制文件
// 放到了Node的安装包中,如果安装了Node,那么里面的核心模块就可以直接使用
// require表示引入核心模块的方式
// 1. 引入模块
var fs = require('fs');

// 2. 调用方法读取文件
fs.readFile('./files/1.txt','utf-8',(err,data)=>{
    
    
	if (err) return console.log(err.message);
	console.log(data);
});

/**
 * readFile方法的参数
 * 1. 第一个参数是读取文件的路径 
 * 2. 编码的方式
 * 3. 执行读取操作后的回调函数 
 */

将数据写入文件

// 1. 引入核心模块
var fs = require('fs');

// 2. 调用写入数据的方法,写入数据
/**
 * 写入方法有四个参数:
 * 1. 参数一是要写入文件的路径
 * 2. 参数二是要写入的数据
 * 3. 参数三是可选的,是写入数据的编码方式,默认是UTF-8
 * 4. 参数四是写入文件后的回调函数callback,有一个err参数
 *    如果写入成功err是一个null,如果写入失败err是一个具体的对象
 * 
 * 注意:
 * 1. 如果写入的文件不存在,则会先创建此文件,再写入内容
 * 2. 如果文件已经存在,新写入的内容会将原来的内容给覆盖掉
 * 3. 如果想在后面追加内容的话,可以使用方法appendFile
 */
fs.writeFile('./files/2.txt','好好学习,天天向上',(err)=>{
    
    
  if(err) throw err;
  console.log('写入成功');
})

Other

// 引入包(fs 也是内置的)
const fs = require('fs');
const path = require('path');
// 使用包中的方法 读取文件 
// fs.readFile();  读文件 异步的
// fs.readFileSync(); 读文件 同步的 用的特别少

// let data = fs.readFileSync('./test01.txt', { encoding: 'utf-8' });
// console.log(data);

// let url  = path.join(__dirname)
let url = path.join(__dirname,'test01.txt');
console.log(url);

fs.readFile(path.join(__dirname,'test01.txt'), {
    
     encoding: 'utf-8' }, (err, data) => {
    
    
    if (err) throw new Error(err.message);
    console.log(data);
})

// console.log(__dirname);


// fs.writeFile('./1.txt','js真难学啊',(err,data)=>{
    
    
//     console.log(err);
// })

六、箭头函数


  1. 箭头函数就是一个普通的匿名函数,解决了this指向的问题。
  2. 箭头函数内部的this,永远和外部作用域中this一致。
  3. 标准箭头函数的写法:()=>{}。

箭头函数的变体:
变体一

// 如果参数列表中,只有一个参数,可以省略小括号而直接写参数即可
x=>{
    
    console.log(123)}
// 如果左侧没有任何参数,或者有多个参数,则小括号不能省略

变体二

// 如果函数中,只有一行代码,则函数体外部的{}可以省略,但是一般不省略
(a,b)=> console.log(123)

七、__dirname


  1. Node在执行读写文件的时候,路径是根据运行Node命令所在的文件夹路径进行查找文件的。
  2. 为了解决Node中fs模块的路径问题,Node中提供了一个__dirname方法。
  3. __dirname拿到的永远是这个当前正在执行的js文件所在的根目录,是一个绝对路劲,是从系统盘符开始的。
  4. 这个路径是动态可变的,根据执行文件的不同,路径也不同,但肯定是绝对路径,是以盘符开始的。
// 1. 引入模块
var fs = require('fs')

// 2. 调用方法读取文件
// Node在执行读写文件的时候,路径是根据运行Node命令所在的文件夹路径进行查找文件的.
// 为了解决Node中fs模块的路径问题, Node中提供了一个__dirname,获取的这是一个绝对路径
// __dirname获取的永远是当前的js文件所在的绝对路径
// fs.readFile('./files/2.txt','utf-8',(err,data)=>{
    
    
fs.readFile(__dirname+'/files/2.txt','utf-8',(err,data)=>{
    
    
  if(err) throw err;
  console.log(data);
})

console.log(__dirname);

猜你喜欢

转载自blog.csdn.net/weixin_45946270/article/details/121538217