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

福建省建设厅网站林瑞良微博登录网站开发

福建省建设厅网站林瑞良,微博登录网站开发,建设宠物网站的可行性,团购小程序[node]模块系统 Node.js中的模块系统模块的使用模块的导入模块的导出导出多个值导出默认值导出可传参的函数 文件查找策略从文件模块缓存中加载从原生模块加载从文件加载 Node.js中的模块系统 为了让Node.js的文件可以相互调用#xff0c;Node.js提供了一个简单的模块系统。 … [node]模块系统 Node.js中的模块系统模块的使用模块的导入模块的导出导出多个值导出默认值导出可传参的函数 文件查找策略从文件模块缓存中加载从原生模块加载从文件加载 Node.js中的模块系统 为了让Node.js的文件可以相互调用Node.js提供了一个简单的模块系统。 模块是Node.js 应用程序的基本组成部分文件和模块是一一对应的。换言之一个 Node.js 文件就是一个模块这个文件可能是JavaScript 代码、JSON 或者编译过的C/C 扩展。 模块的使用 Node.js 提供了 exports 和 require 两个对象其中 exports 是模块公开的接口require 用于从外部获取一个模块的接口即所获取模块的 exports 对象。 常用的关键字包括 exportsmodulerequire exports是module.exports的别名,一般要对外暴露属性或方法就用 exports 就行要暴露对象(类似class包含了很多属性和方法)就用 module.exports 不建议同时使用 exports 和 module.exports。 如果先使用 exports 对外暴露属性或方法再使用 module.exports 暴露对象会使得 exports 上暴露的属性或者方法失效。 原因在于exports 仅仅是 module.exports 的一个引用 模块的导入 Nodejs主要是通过require的方式导入 模块的导出 导出多个值 module.js //方式1 exports.athis is a module param,; exports.buse exports to export param,; exports.ccheck the result;module-use.js,使用模块 const receiverequire(./module); console.log(receive.a,receive.b,receive.c);终端打印 输入node module-use.js 输出this is a module param, use exports to export param, check the result导出默认值 module.js //方式2 module.exports[this use module.exports to export param,this is array];module-use.js const receiverequire(./module); console.log(receive);终端打印 输入node module-use.js 输出[ this use module.exports to export param, this is array ]导出可传参的函数 module.js //方式3 module.exportstitlethis use module.exports to export param ,and you can pass param ${title} to this template;module-use.js const receiverequire(./module); //方式3 console.log(receive(TTTTTT))终端打印 输入node module-use.js 输出this use module.exports to export param ,and you can pass param TTTTTT to this template文件查找策略 Node.js 的 require 方法的文件查找策略: Node.js 中存在 4 类模块原生模块和3种文件模块尽管 require 方法极其简单但是内部的加载却是十分复杂的其加载优先级也各自不同 模块加载的优先级: 文件模块缓存原生模块缓存原生模块文件模块 优先从缓存区加载。如果缓存区没有被加载过则调用模块的加载方式进行加载和执行 从文件模块缓存中加载 尽管原生模块与文件模块的优先级不同但是都会优先从文件模块的缓存中加载已经存在的模块。 从原生模块加载 原生模块的优先级仅次于文件模块缓存的优先级。require 方法解析文件名之后优先检查模块是否在原生模块列表中。以http模块为例尽管在目录下存在一个 http/http.js/http.node/http.json 文件require(“http”) 都不会从这些文件中加载而是从原生模块中加载。 原生模块也有一个缓存区同样也是优先从缓存区加载。如果缓存区没有被加载过则调用原生模块的加载方式进行加载和执行。 从文件加载 当文件模块缓存中不存在而且不是原生模块的时候Node.js 会根据 require 方法传入的参数并从文件系统中加载实际的文件这里将详细描述查找文件模块的过程。 require方法接受以下几种参数的传递 http、fs、path等原生模块./mod或…/mod相对路径的文件模块/pathtomodule/mod绝对路径的文件模块mod非原生模块的文件模块 在路径 Y 下执行 require(X) 语句执行顺序 1. 如果 X 是内置模块a. 返回内置模块b. 停止执行 2. 如果 X 以 / 开头a. 设置 Y 为文件根路径 3. 如果 X 以 ./ 或 / or ../ 开头a. LOAD_AS_FILE(Y X)b. LOAD_AS_DIRECTORY(Y X) 4. LOAD_NODE_MODULES(X, dirname(Y)) 5. 抛出异常 not foundLOAD_AS_FILE(X) 1. 如果 X 是一个文件, 将 X 作为 JavaScript 文本载入并停止执行。 2. 如果 X.js 是一个文件, 将 X.js 作为 JavaScript 文本载入并停止执行。 3. 如果 X.json 是一个文件, 解析 X.json 为 JavaScript 对象并停止执行。 4. 如果 X.node 是一个文件, 将 X.node 作为二进制插件载入并停止执行。LOAD_INDEX(X) 1. 如果 X/index.js 是一个文件, 将 X/index.js 作为 JavaScript 文本载入并停止执行。 2. 如果 X/index.json 是一个文件, 解析 X/index.json 为 JavaScript 对象并停止执行。 3. 如果 X/index.node 是一个文件, 将 X/index.node 作为二进制插件载入并停止执行。LOAD_AS_DIRECTORY(X) 1. 如果 X/package.json 是一个文件,a. 解析 X/package.json, 并查找 main 字段。b. let M X (json main 字段)c. LOAD_AS_FILE(M)d. LOAD_INDEX(M) 2. LOAD_INDEX(X)LOAD_NODE_MODULES(X, START) 1. let DIRSNODE_MODULES_PATHS(START) 2. for each DIR in DIRS:a. LOAD_AS_FILE(DIR/X)b. LOAD_AS_DIRECTORY(DIR/X)NODE_MODULES_PATHS(START) 1. let PARTS path split(START) 2. let I count of PARTS - 1 3. let DIRS [] 4. while I 0,a. if PARTS[I] node_modules CONTINUEb. DIR path join(PARTS[0 .. I] node_modules)c. DIRS DIRS DIRd. let I I - 1 5. return DIRS
http://www.w-s-a.com/news/309843/

相关文章:

  • 网站制作公司违法商业网站运营成本
  • 显示佣金的网站是怎么做的广告设计主要做哪些
  • 做阿里网站的分录济南seo网站排名关键词优化
  • 北京建设银行纪念钞预定官方网站wordpress中文优化版
  • 宝安做棋牌网站建设找哪家效益快创意设计师个人网站
  • 做线上网站需要多少钱系统开发板价格
  • 建筑企业登录哪个网站wordpress feed地址
  • 网站建设流程百科提升seo搜索排名
  • 杭州网站建设 巴零做销售怎么和客户聊天
  • 北京自己怎样做网站wordpress oauth2插件
  • 上海800做网站wordpress建站的好处
  • 婚纱摄影网站设计模板如何做好网站内容
  • cdn网站加速招商计划书模板ppt
  • 我在某网站网站做代理开发小程序外包
  • 设计网站国外商城网站的建设费用
  • 网站开发工作需要什么专业学做网站游戏教程
  • 电子商务网站规划 分析 设计杭州网站优化平台
  • 汕头企业自助建站系统网站后台登陆验证码无法显示
  • 宁波网站制作服务做外贸推广自己网站
  • php 微信 网站开发青岛网站互联网公司
  • 网站软件免费下载大全网站建设开发价格高吗
  • asp网站制作软件上海做网站制作
  • 福田区住房和建设局网站好搜搜索引擎
  • 平面设计师看的网站济南机场建设
  • 俄文网站开发翻译平台页面设计模板
  • 建设在线购物网站淮南电商网站建设价格
  • 龙泉市旅游门户网站建设wordpress faq插件
  • 网站的流程图贵阳做网站方舟网络
  • c 做网站开发实例wordpress 加上index
  • 济南seo网站推广搜索广告推广