JS的模块化(require & exports)

分享
源代码 2024-10-2 03:26:31 100 0 来自 中国
(1)怎样引入其他的模块

利用require(),须要传入的参数就是相对路径
必须以.或者..开头
利用require引入模块以后,该函数会返回一个对象,该对象代表的就是引入的模块
在node中,一个js文件就是一个模块
在node中,每一个js文件中的js代码都是独立运行在一个函数中
变量也是放在函数中,一个模块的变量在其他的函数中无法访问
向外部袒露属性或者方法,有一个属性exports,向外貌袒露变量和方法
只要将变量或者方法设置为exports的属性即可。
(2)commonjs对模块的界说非常简单


  • 模块的引用
  • 模块的界说
  • 模块的标识:(利用require,模块分为两大类:核心模块,文件模块)
  • 核心模块:由node引擎提供的模块,核心模块的标识就是模块的名字。比方require(“fs”);
  • 文件模块:标识就是文件的路径
    全局变量的界说不须要var
/** * 在node中有一个全局变量global,它的作用和网页中的Windows雷同  * 可以看到当前页面利用的函数: * console.log(arguments.callee + ""); *  * 现实上模块中的代码都是包赚在一个函数中实验的,而且在函数中传入了5个参数 * exports module _filename _dirname *  -exports 将函数中的对象袒露到外部 *  -module 就是当前模块 *  -exports 就是module的属性 *  -_filename当前模块的完备路径 *  -_dirname当前文件地点文件夹的路径 *//** * module.exports和exports的区别 * exports相当于另一个指针指向module.exports的这个属性 * exports只能利用 . 的情势向外袒露变量 * module.exports既可以利用.也可以利用 = 直接赋值对象 *  */var a = require("./hello.js");    console.log(a);exports 的差异写法

  • 写法一:
exports.hello = function(){    console.log(‘world’);}

  • 写法二:
var f = {    hello : function(){    console.log(‘world’);    }}module.exports = f;
您需要登录后才可以回帖 登录 | 立即注册

Powered by CangBaoKu v1.0 小黑屋藏宝库It社区( 冀ICP备14008649号 )

GMT+8, 2024-11-21 23:20, Processed in 0.184468 second(s), 32 queries.© 2003-2025 cbk Team.

快速回复 返回顶部 返回列表