Node.js模块化开发

一、Node.js模块化开发

1、JavaScript开发弊端
JavaScript在使用时存在两大问题:文件依赖和命名冲突,又由于JavaScript代码是半封闭状态。
2、软件中的模块化开发
一个功能就是一个模块,多个模块可以组成完整应用,抽离一个模块不会影响其他功能的运行。
3、node.js模块化开发规范

  • nodejs规定一个JavaScript文件就是一个模块,模块内部定义的变量和函数默认情况下在外部无法得到。

  • 模块内部可以使用export对象进行成员导出,使用require方法导入其他模块

    exports.add = add

//a.js文件
const add = (n1,n2)=>{
    console.log(n1+n2);
}
exports.add1 = add;
//b.js文件
const a = require('./a.js'); //用一个变量去接收require方法获得的模块
a.add1(1,2) //输出3;
  • 模块成员导出的另一种方式

module.exports.add = add

//module-a.js文件
const add = (n1,n2)=>{
    console.log(n1+n2);
}
module.exports.add1 = add;
//module-b.js文件
const a = require('./module-a.js'); //用一个变量去接收require方法获得的模块
a.add1(1,2) //输出3;

两者之间的区别:exports是module.exports的别名(地址引用关系),导出对象最终以module.exports为准;

二、系统模块

1、什么是系统模块

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

2、系统模块fs文件操作

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

//写入文件内容
fs.write('文件路径/文件名称','数据',callback)

3、系统模块path路径操作

为什么要进行路径拼接

  • 不同操作系统的路径分隔符不统一
  • /public/uploads/avatar
  • window上是\ /
  • linux上是 /

路径拼接语法

path.join('路径','路径',....)
// 获取到path模块
const path = require('path');

const finalPath = path.join('public','a','b');

console.log(finalPath); // public\a\b

三、第三方模块

1、什么是第三方模块

别人写好的、具有特定功能的、我们能直接使用的模块即第三方模块,由于第三方模块通常都是由多个文件组成并且被放置在一个文件夹中,所以又名包.

有两种存在形式:

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

2、获取第三方模块

npm:node的第三方模块管理工具

  • 下载:npm install 模块名称
  • 卸载:npm unintall package 模块名称

全局安装与本地安装

  • 命令行工具:全局安装
  • 库文件:本地安装

3、第三方模块 nodemon

在Node.js中,每次修改文件都要在命令行工具中重新执行该文件,非常繁琐。nodemon可以不用每次都重启服务器,便于程序员操作。

使用步骤:
npm install nodemon
在package.json文件内把node修改成nodemon

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值