专栏首页前端学习笔记Node.js模块化开发

Node.js模块化开发

1. JavaScript开发弊端

JavaScript在使用时存在两大问题,文件依赖和命名冲突。

2.生活中的模块化开发

3.软件中的模块化开发

一个功能就是一个模块, 多个模块可以组成完整应用,抽离一个模块不会影响其他功能的运行。

4.Node.js中模块化开发规范

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

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

5.模块成员导出

// a.js
//在模块内部定义变量
let version = 1.0;
//在模块内部定义方法
const sayHi = name =>`您好, ${name}`;
//向模块外部导出数据
exports. version = version ;
exports. sayHi = sayHi ;

6.模块成员的导入

// b.js
//在b.js模块中导入模块a
let a = require('./b.js') ;
//输出b模块中的version变量
console.1og(a.version) ;
//调用b模块中的sayHi方法并输出其返回值
console.1og(a.savHi('黑马讲师')) ;
导入模块时后缀可以省略

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

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

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

8.模块导出两种方式的联系与区别

const sayHi = (name) => `hello ${name}`;
const x = 2;
exports.sayHi = sayHi;
module.exports.x = x;
//当exports对象和module.exports对象指向的不是同一个对象时,以module.exports对象指向为准
module.exports = {
    name: '张三'
}
​
​

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • String 的扩展方法

    清出于兰
  • Node.js中模块加载机制

    清出于兰
  • 箭头函数

    箭头函数不绑定this关键字,箭头函数中的this,指向的是函数定义位置的上下文this

    清出于兰
  • Js模块化导入导出

    CommonJs、AMD、CMD、ES6都是用于模块化定义中使用的规范,其为了规范化模块的引入与处理模块之间的依赖关系以及解决命名冲突问题,并使用模块化方案来使...

    WindrunnerMax
  • pyqt5之简单窗口的创建

    py3study
  • hashpartitioner-Spark分区计算器

    一点点回忆 年初了,帮助大家回忆一下spark的重要知识点。 首先,我们回顾的知识点是RDD的五大特性: 1,一系列的分区。 2,一个函数作用于分区上。 3,R...

    Spark学习技巧
  • python flask+psutil

    py3study
  • CAN通信控制一拖二直流无刷电机

    这次工程以STM32F103RC为例用CAN驱动控制两路直流无刷电机,带霍尔传感器,TIM1和TIM8用来输出PWM,TIM2和TIM4用来接霍尔,采用6步法控...

    用户1605515
  • JS图片预加载插件

          在开发H5项目中有时候会遇到要加载大量图片的情况,利用预加载技术可以提高用户浏览时的体验。  1)概念: 懒加载也叫延迟加载:JS图片延迟加载,延迟...

    用户1055830
  • [PHP] 从PHP 5.6.x 移植到 PHP 7.0.x不兼容点

    1.1 set_exception_handler()函数申明的类型

    陶士涵

扫码关注云+社区

领取腾讯云代金券