当前位置: 首页 > news >正文

礼品工艺品网站建设湖南网站建设平台

礼品工艺品网站建设,湖南网站建设平台,专门 做鞋子团购的网站,深圳网站建设黄浦网络-骗钱模块化的定义 讲一个复杂的程序文件按照一定的规则拆分成多个独立的小文件,这些小文件就是小模块,这就是模块化。 每个小模块内部的数据是私有的,可以暴露内部数据给外部其他模块使用。 模块化优点 减少命名的冲突提高复用性提高可维护性按需…

模块化的定义

讲一个复杂的程序文件按照一定的规则拆分成多个独立的小文件,这些小文件就是小模块,这就是模块化。
每个小模块内部的数据是私有的,可以暴露内部数据给外部其他模块使用。

模块化优点

  • 减少命名的冲突
  • 提高复用性
  • 提高可维护性
  • 按需加载

模块化使用

1.单个模块暴露

// index.js
const userObj = require("./user.js");
// 调用收到的函数 user()
userObj();
// user.js
function user(){console.log("这是用户信息。");
}
// 对外暴露 user 数据
module.exports = user;

2.多个模块暴露

// index.js
const userObj = require("./user.js");
// 分别使用对外暴露的函数
userObj.user();
userObj.userInfo();
// user.js
function user(){console.log("这是用户。");
}
function userInfo(){console.log("这是用户信息。");
}
// 方式一:对外暴露 user 和 userInfo 数据对象
module.exports = {user,userInfo
};
// 方式二:单独暴露 user 和 userInfo 数据
exports.user = user;
exports.userInfo= userInfo;

暴露数据时,不能使用 exports = user 形式暴露,返回的是一个空对象。
exports 和 module.exports 的关系:exports = module.exports = { }

因为 require() 加载其他模块的时候,返回结果的目标模块中 module.exports 的值。

导入模块注意点

  1. 导入自己创建的模块时,使用相对路径,并且不能省略 ./ 和 …/
// 正确
const userObj = require("./user.js");
// 错误
const userObj = require("user.js");
  1. 导入的模块文件如果是 .js 或 .json 可以省略后缀
const userObj = require("./user");

如果导入的模块是其他类型的,默认以 js 模块文件处理(.txt .doc)。

  1. 导入文件夹
const userObj = require("./module");

如果导入的是文件夹,那么先去找该文件夹下 package.json 文件中的 main 属性对应的路径文件,如果有此文件,就导入该文件,否则找不到此文件就会报错。

// ./module/package.json
// 找到后导入
{"main": "./main.js"  
}
// 没有此文件报错
{"main": "./main2.js"   
}

如果 main 属性找不到,或者 package.json 也找不到,就去该文件夹下找到 index.jsindex.json 文件,如果找到了这两个文件就会导入,否则也报错。

// ./module/index.js
module.exports = "暴露出去的信息"

也就是 package.json 文件中的 main 属性对应的路径文件 main.jsmodule 文件夹下 index.js 文件其中一个存在即可。

导入模块的基本流程

  1. 将相对路径转为觉得路径,path.resolve(),定位目标文件;
  2. 缓存检测,若读取过文件,从缓存中再次读取,否则重新读取;
  3. 读取目标文件代码,readFile();
  4. 包裹一个函数并自执行,通过arguments.callee.toString()查看自执行函数;
  5. 缓存模块的值,将读取过得文件进行缓存;
  6. 返回 module.exports 的值。
http://www.hrbkazy.com/news/41517.html

相关文章:

  • 网站建设 南宁运营商大数据精准营销获客
  • 河南seo网站多少钱seo基础理论
  • wordpress黑色名片主题seo网站排名优化工具
  • 建英文网站费用网络维护公司
  • 佛山最好的网站建设站长工具seo综合查询收费吗
  • 移动端h5页面开发流程搜索seo神器
  • 制作图片用什么软件引擎优化seo是什么
  • 网站后台可视化编辑企业建站模板
  • 石家庄定制网站建设多少钱网站建设需要多少钱?
  • 怎么做网站的sitemap北京首页关键词优化
  • 免费风景视频素材下载外包seo服务口碑好
  • 怎么做中英文版网站站内关键词排名软件
  • app开发公司 杭州扬州网络优化推广
  • 网站怎么创建自己的网站公司关键词排名优化
  • 如何在电脑上建立网站市场营销毕业后找什么工作
  • 电子商务网站开发综合实训报告友情链接网站源码
  • 设计网站页面的作文人大常委会委员长
  • 网站流量评价有哪几方面百度指数查询移民
  • asp.net网站建设教程新手怎么推广自己的店铺
  • 素材网站源码免费的h5制作网站
  • 网站建设费用表保定网站推广公司
  • 如何让人帮忙做网站企业网站模板源码
  • asp sql做学生信息网站企业网站免费制作
  • 著名设计网站阿里巴巴logo
  • 网站建设找哪个谈谈你对seo概念的理解
  • 做网站公司的未来bilibili推广网站
  • 聊城网站建设费用如何提高网站排名
  • 网站建设人员需求足球直播在线直播观看免费cctv5
  • 看优秀摄影做品的网站网页设计与制作软件有哪些
  • 物流网站平台建设网址导航推广