当前位置: 首页 > 工具软件 > Node-restrict > 使用案例 >

Node——Node基础

嵇弘新
2023-12-01

一、模块化开发

之前的练习,使用node运行一个js文件。但是实际项目开发中,不可能将全部代码都写在一个文件中。node为我们提供了模块化的语法,每一个js文件都可以当作一个模块

  • require()引入一个模块
  • module.exports暴露模块接口

现在我们实现一个加法计算的功能,在一个add.js文件中编写一个加法函数,然后用module.exports暴露这个方法,然后再创建一个入口文件main.js引入这个加法函数,并通过加法函数计算结果

示例代码如下:

// add.js定义一个模块 处理加法函数
function add(a,b) {
  return a+b
}

module.exports = add
// 引入外部模块,使用加法函数
const add = require('./add')

let result = add(10,20)

console.log(result);

可以在命令行看到输出的运算结果为 30

ES2015的模块化语法

补充:在ES2015中的模块化语法与node的模块化语法略有差异,如下

  • import 引入外部模块
  • export 暴露模块接口

在vue中会使用到ES2015的模块化语法

外部模块

引入外部模块有三种情况:

1、核心模块:核心模块是node自带的模块,可以在require引入后直接使用

2、自定义模块:自定义模块是自己编写的,上面模块化的例子中,add.js就是一个自定义模块,引入自定义模块需要写完整路劲

3、第三方模块:使用npm下载的模块是第三方模块,下载完成后可以使用require直接引入

二、核心模块

常用核心模块

1.fs

fs模块是node的文件系统模块,通过此模块的readFile方法可以读取文件,我们新建一个readFile.js文件,然后在其目录创建一个txt文件,内容为 hello world,然后编辑readFile.js文件,代码如下

// test.txt
hello world
  // readFile.js

  const fs = require("fs")
  /**
   * readFile() 括号里填查看的文件路径 可以是绝对路径也可以是相对路径
   * err:错误信息 如果没有读取到这个文件 就会弹出错误信息,如果读取成功,则err为null
   * data:文件信息
   */
  fs.readFile("test.txt",(err,data)=>{
      if(err){
          console.log(err);
      }
      console.log(data.toString());  // data是buffer类型(二进制类型)
  })

然后使用命令行在此目录下执行

node readFile.js

程序最终运行结果会在命令行输出 hello world

2.path

path提供了一些用于处理文件路径的小工具,例如我们可以用path的join方法链接两个路径,示例代码如下


// 引入path模块
const path = require("path")

// 定义三个变量
let domain = "http://www.baidu.com"
let url = "docs"
let id = "22"

// 使用path的join方法传入这三个变量
let result = path.join(domain,url,id)
console.log(result);

// 输出的结果是三个变量链接在一起的路径
// http:\www.baidu.com\docs\22

​

3.http

http模块可以用来创建web服务器,后面再记

三、练习

1、定义一个可以完成四则运算的node模块

2、用fs模块打开d盘test目录下的index.html文件 (自己动手创建缺失的文件和目录)

 类似资料: