Common.js

JS中容易出现变量被覆盖,方法被替代的情况(既被污染)。特别是存在依赖关系时,容易出现错误。这是因为JS缺少模块管理机制,来隔离实现各种不同功能的JS判断,避免它们相互污染。 为此我们经常采用命名空间的方式,把变量和函数限制在某个特定的作用域内,人肉约定一套命名规范来限制代码,保证代码安全运行。jQuery中有许多变量和方法,但是无法直接访问,必须通过jQuery,$调用 各个方法。
   Commonjs不同于jQuery,Commonjs是一套规范,约定了js如何组织,如何编写。大部分标准在拟定和讨论之中,首先把执行不同任务的代码块和代码文件看为独立的模块,每一个模块都是一个单独的作用域,但不是孤立的,可能存在依赖关系。每个模块分为三个部分,定义、标识和引用。这套规范与现实产品如node.js相互影响,良性循环。
   nodejs基于commonjs实现了模块管理系统。node中每一个js文件都是一个独立的模块,在其内部不需要有命名空间,不需要担心变量的污染和方法定义时的隔离。同时模块之间可以组合形成更强大的模块或功能包。npm即是用来管理各种功能包的。
 
在nodejs中文件和模块是一一对应的  
模块类型: 1核心模块  2本地模块 3通过npm安装的第三方模块  
引用模块的方式  1用文件路径引用  2用模块名来引用  
如果用名称引用非核心模块的话 node就会把模块名映射到对应模块名的路径 包含了核心函数的模块会在node启动时预先加载 非核心模块就是使用npm安装的第三方模块 或者其他人创建的模块

ndoejs主要就是把项目变成模块化在管理 第一步先创建模块 然后导出模块 然后在加载模块  最后在使用模块 创建模块也是入口的js文件 里面有特定的功能  导出模块就是把功能和模块名建立关系  加载模块就是在其它文件里引入并且加载这模块 在ndoe里使用reqiure来完成这个工作 也就是用模块名来引用模块 然后会把模块影射到对应的模块路径 最后就是使用模块 直接调用模块中设定好的方法 exports对象用来将属性方法公开 可以让其它模块调用 require可以导入exports公开的方法 这样就算是导入一个模块的 并且是独立的 无需担心其它的错误 module.exports是支持存在的东西 是特写的对象类型 exports是module.exports的幅度方法 module.exports是给调用着  exports上挂着属性和方法  最后再把属性方法给module.exports 如果module.exports已经有熟悉方法的话  exports就会被忽略
实现一个模块的调用,编写student.js、teacher.js、klass.js、index.js(入口)
用exports导出模块exports.add=function()、require加载模块var teacher=require('./teacher.js')
使用模块teacher.add('Scott')
注意:exports、function等关键字不能写错(出错experts,funtion)



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值