前端-node.js 学习巩固

文章介绍了Node.js的基础知识,包括其作为一个服务器端JavaScript运行环境的角色,如何安装和验证Node.js,以及npm的包管理功能和镜像加速。接着,文章讲解了Node.js的模块化机制,如何使用`require()`导入和导出模块,以及文件系统的fs模块,提供了文件操作的基本概念和同步、异步操作的区别。
摘要由CSDN通过智能技术生成

前言

通过看尚硅谷学习网站学习nodejs


一、node.js是什么?

Node.js是一个能够再服务器运行javaScipt的开放源代码,跨平台JavaScript运行环境

二、如何安装node?

node.js官网
在这里插入图片描述

1.安装

安装步骤

安装完毕,查看是否安装成功?终端命令行输入

node -v

如果安装成功,会显示你当前的node版本号

2 常使用的node命令

常用命令

三 npm是什么?镜像又是什么呢?

1.npm

npm是Node.js的包管理器

2 镜像

npm服务器在国外,国内虽然能用,但是下载东西很慢,由此,很多镜像产生镜像的意义就是把外网资源映射到国内,加快访问速度,内容和国外资源是一致的,每隔一段时间同步一次

3.更换镜像,提升下载速度

切换成淘宝镜像

⚠️ 如果该项目已经切换成淘宝镜像,则终端命令行再敲打npm命令时
npm -v 修改成 cnpm -v

四 重点标记

1.node执行js文件

node. path(文件路径,绝对路径或者相对路径)

node xxxx.js

2.模块化

/**
 * 模块化
 *
 * - 在node中,一个js文件就是一个模块
 * - 在node中,一个js文件就是一个js代码
 *  而不是全局作用域,所以一个模块的中的变量和函数中其他模块中无法访问
 *
 *
 * exports.可以使变量或方法让外部访问到
 *
 *
 *
 */

2.引入其他的模块

引入模块使用的函数require()
以引入fs模块为例,

const fs=require("fs")

介绍:

  • 在node中,通过require()函数来引入外部的模块,require()
    可以传递一个文件的路径作为参数,node将会自动根据该路径来引入外部模块,这里路径,如果使用相对路径,必须以.或…开头
  • 使用require()引入模块以后,该函数会返回一个对象,这个对象代表的是引入的模块
  • 我们使用require()引入外部模块时,使用的就是模块标识,我们可以根据模块标识来找到指定模块
  • 模块分成两大类
  • 核心模块
    由node引擎提供的模块
    核心模块的标识就是,模块的名字
  • 文件模块
    由用户自己创建的模块
    文件模块的标识就是文件的路径(绝对路径或相对路径)

3如何模块里的变量和函数暴露出去

以hello.js文件举例

hello.js 文件

//一般定义变量,如下:定义变量a 该变量是局部变量,外部无法访问
var a ="str"
//定义函数add 该函数是局部变量,外部无法访问
function add (a,b) {
    return a+b;
}
//定义全局变量b 该变量可以暴露出去
exports.b ="str"

//定义全局函数mul 该函数可以暴露出去
exports.mul =function (a,b) {
    return a*b;
}

//引入hello.js文件
const hello=require("./hello")
//访问变量b,函数mul
console.log(hello.b)
console.log(hello.mul(3,8))

或使用另外的方法:

exports 和module.exports
 通过exports 只能使用.的方式来向外部暴露内部变量
 exports.xxx=xxx
 而module.exports既可以通过.的形式,也可以直接赋值
 module.exports.xxxx=xxxxx
 module.exports={}

4 文件系统 fs模块

介绍

文件系统api

/**
 * 文件系统
 *      node通过fs模块来和文件系统进行交互
 *      使用文件系统,需要先引入fs模块,fs是核心模块,直接引入不需要下载
 *
 *      fs模块中所有操作都有两种形式可供选择:同步 和异步
 *
 *
 *      同步文件系统会堵塞程序的执行,如果没有执行完,不会向下执行代码
 *
 *
 *      文件的写入
 *      --手动操作的步骤
 *      1,打开文件
 *         fs.openSync(path,flag[,mode])
 *          -path 要打开文件的路径
 *          flags 打开文件要做的操作类型
 *               r  只读的
 *              w  可写的
 *              -mode 设置文件的操作权限,一般不传
 *
 *              返回值
 *                 -该方法会返回一个文件的描述负作为结果,我们可以通过该描述分来对文件进行各种操作
 *
 *      2,向文件中写入内容
 *
 *        fs.writeSync(fd,string[, position[,encodeing]
 *        - fd 文件的描述符,需要传递要写的文件的描述符
 *        -string 要写入的内容
 *        -position 要写入的起始位置
 *        encodeing 写入编码,默认utf-8
 *      3 保存并关闭文件
 *
 */
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值