Node.js的安装及环境配置及使用【超详细】

381 阅读3分钟

Node.js的安装及环境配置及使用

Step1:去官网下载安装包

下载方式:官网下载 根据自己电脑系统及位数选择。

.msi和.zip格式区别:

1、.msi是Windows installer的数据包,实际上是一个数据库,提供安装,修改,卸载你所安装的程序。此外:它还包含有关安装过程本身的信息。例如:安装序列、目标文件夹路径、安装选项和控制安装过程的属性。

2、.zip是一个压缩包,解压之后即可,不需要安装。

Step2:安装

Step1下载完成之后,双击安装包,点击我接受,再点击next

nodejs 如何运行

 1.打开node自带的REPL解释器
     *原理: nodejs运行环境来执行js
 2.打开电脑终端,执行命令 : node[js文件名]
    node : 你的操作系统会自动把这个文件的js代码,放入node环境执行
 3. vscode : 点击右键选择终端打开, 输入 : node 文件名
   原理和上面那个一模一样 , 只是用起来更方便
   
   

代码演示

const fn = (a, b) => {
  return a + b
}
const res = fn(10, 20)

console.log(res);

服务端js与客户端js区别

 1.客户端(前端浏览器)中的js三个部分组成
  1.1 ECMAScrpit : js语法规范
   变量、数据类型、流程控制、运算符表达式
  1·2 DOM : js操作页面内容
    document
  1·3 BOM :js操作浏览器窗口
    window 


 2.服务端(后端nodejs)中的js
  * (1)只有ECMAScript : js基础所学的语法都可以在nodejs中使用
  * (2) 没有DOM与BOM : webapi 学习的语法在nodejs中无法使用

fs模块读取文件readFile

/* 
前端如何使用插件(js文件) :以axios为例
   (1)导包: <script src ="路径"></script>
*/

// 导入模块
const fs = require('fs')


// 2.使用方法
//(1) 同步 : 在方法后面加上Sync(nodejs中很少使用)
// 第一个参数 :文件路径  第二个参数: 文件编码 默认二进制 中文utf-8

// let data = fs.readFileSync('./data/aaa.txt', 'utf8')
// console.log(data);




// (2)nodejs 中所有的方法默认都是异步的
/* 
   * @description : “读取文件 ”
   * @param{string}path 文件路径
   * @param{string}encoding 文件编码 默认二进制 中文utf-8
   * @param{function}callback (err,data)=>{err: 错误信息, data:文件数据}
*/
fs.readFile('./data/aaa.txt','utf-8',(err,data)=>{
  if(err){//you err 失败
    //抛出异常 : 会阻止后面代码执行 , 并且告数你错误的位置
    throw err
  }else{//没有 err 成功
    console.log('读取成功');
    console.log(data);
  }
})


同步与异步区别

 1.js编译器解析流程
    1.1编译器从上往下依次 “解析” 代码
    2.判断代码是同步还是异步
      2.1同步代码:立即执行
      2.2异步代码:不立即执行,而是放入事件队列中
    3.所有的代码执行完毕后,才会执行异步代码
 2.同步与异步区别:
   (1) 顺序不同: 异步无序,同步有序且优先执行
   (2) 效率不同: 异步不会阻塞线程(效率高),同步阻塞线程(效率低)
   (3) 代码不同: 异步一般有回调,同步一般没有回调

nodejs相对路径

1.前端相对路径  ./ 与后端nodejs 相对 ./ 是不同规则
   前端./ : 固定的,永远相对于当前文件夹所在的路径
   后端./ : 不固定的, 相对于执行node命令所在的文件夹路径
        *你在哪执行node  ./就是那个文件夹
2.nodejs 中文件读写,不能使用相对路径./而应该使用绝对路径
  解决方案 :  环境中,每一个js模块默认又啷个全局变量用于获取文件用于绝对路径
     ——dirname : 当前js模块所在文件夹的绝对路径
     ——filename : 当前js 模块自身绝对路径

代码演示

    ```

        // 1.导入fs模块
        const fs = require('fs')

        // 读取文件
        fs.readFile(__dirname + '/aaa.txt','utf-8',(err,data)=>{
          if(err){
            throw err
          }else{
            console.log(data);
          }
        })

    ```

代码演示

        // 导入path模块
        const path = require('path')

        // 2.使用模块

        /* 拼接文件: 如果磁盘分隔符写错了,path模块会自动帮你纠正 */

        let path1 = __dirname + '//aaa.taxt'
        console.log(path1);

        let path2 = path.join(__dirname,'//aaa.txt')
        console.log(path2);