NodeJs基础

1. Node概述

  1. Node是一个基于Chrome V8引擎的Js代码运行环境。
  2. 运行环境
    • 浏览器(软件)能够运行Js代码,浏览器就是Js代码的运行环境。
    • Node能够运行Js代码,Node就是Js代码的运行环境。

2. 运行环境搭建

1. 版本查看

node -v

3. Node.js快速入门

1. 组成

  1. Js由三部分组成,ECMAScript,DOM,BOM
  2. Node.js是由ECMAScript及Node环境提供的一些附加API组成的,包括文件、网络、路径等等一些更加强大的API

2. 基础语法

var first = 'hello nodejs';
console.log(first);

function fn() {
    console.log('fn函数被调用');
}

fn();

for (var i = 0; i < 5; i++) {
    console.log(i);
}

if (true) {
    console.log('123');
}

4. 模块化开发

1. js开发弊端

js在使用时存在量大问题,文件依赖和命名冲突

2. 模块化开发规范

  1. Node.js规定一个js文件就是一个模块,模块内部定义的变量和函数默认情况下在外部无法得到
  2. 模块内部可以使用exports对象进行成员导出,使用require方法导入其他模块。

3. 模块成员导出

// a.js
// 在模块内部定义变量
let version = 1.0;

// 在模块内部定义方法
const sayHi = name => `您好, ${name}`;

// 向模块外部导出数据
exports.version = version;
exports.sayHi = sayHi;

4. 模块成员的导入

// b.js
// 在b.js模块中导入模块a
let a = require('./a.js');

// 输出b模块中的version变量
console.log(a.version);

// 调用b模块中的sayHi方法并输出其返回值
console.log(a.sayHi('cb'));

5. 模块成员导出的另一种方式

module.exports.version = version;
module.exports.sayHi = sayHi;

exports是module.exports的别名(地址引用关系),导出对象最终以module.exports为准

5. 系统模块

1. 定义

Node运行环境提供的API。这些API都是以模块化的方式进行开发的,所以我们又称Node运行环境提供的AIP为系统模块

2. 系统模块fs - 文件操作

  1. 文件读取
// f:file文件,s:system系统,文件操作系统
const fs = require('fs');

// 读取文件内容
fs.readFile('文件路径/文件名称'[, '文件编码'], callback);
// 示例

// f:file文件,s:system系统,文件操作系统
const fs = require('fs');
// 读取上一级css目录下的base.css
fs.readFile('../css/base.css', 'utf-8', (err, doc) => {
   // 如果文件读取发生错误 参数err的值为错误对象 否则err的值为null
   // doc参数为文件内容
   if (err == null) {
       // 在控制台中输出文件内容
       console.log(doc);
   }
});
  1. 文件写入
fs.writeFile('文件路径/文件名称', '数据', callback);
const fs = require('fs');
const content = '<h3>正在使用fs.writeFile写入文件内容</h3>';

fs.writeFile('./demo.txt', content, err => {
   if (err != null) {
       console.log(err);
       return;
   }
   console.log('文件写入成功');
});

3. 系统模块path - 路径操作

  1. 路径拼接
path.join('路径1', '路径2', ……);
// 导入path模块
const path = require('path');
// 路径拼接
let finialPath = path.join('css', 'a.css')
// 输出结果
console.log(finialPath);

4. 相对路径VS绝对路径

  1. 大多数情况下使用绝对路径,因为相对路径有时候相对的是命令行工具的当前目录
  2. 在读取文件或者设置文件路径时都会选择绝对路径
  3. 使用__dirname获取当前文件所在的绝对路径

6. 第三方模块

1. 存在形式

  1. 以js文件的形式存在,提供实现项目具体功能的API接口。
  2. 以命令行工具形式存在,辅助项目开发

2. 获取第三方模块

npm(node package manager):node的第三方模块管理工具

// 安装
npm install <第三方模块名字>

// 卸载
npm uninstall package <第三方模块名字>

3. 全局安装与本地安装

  1. 本地安装:只有当前项目可以使用
  2. 全局安装:所有项目都可以使用
    • 命令行工具:全局安装
    • 库文件:本地安装

4. nodemon

  1. 一个命令行工具,辅助项目开发。
  2. 在Node.js中,每次修改文件都要在命令行工具中重新执行该文件,非常繁琐。
  3. 使用步骤
    1. 下载npm install nodemon -g,g代表全局安装
    2. 在命令行工具中用nodemon命令替代node命令执行文件

5. nrm

  1. nrm(npm registry manager):npm下载地址切换工具
  2. 使用步骤
    1. 下载npm install nrm -g
    2. 查询可用下载地址列表nrm ls
    3. 切换npm下载地址nrm use <下载地址名称>
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值