是一套规范管理模块

每个js 为一个模块,多个模块作为一个包

node.js和Couchdb是对其的实现;

不同于jQuery

模块:定义、标识、引用(地址/模块名称)

模块类型:

核心模块http fs path

文件模块var util=require(‘./util.js’)

第三方模块npm  var promise=require(‘bluebird’)

模块的流程:

创建模块 teacher.js  function foo(){}

导出模块 exports.add=function(){}  foo

加载模块 另一个js文件var teacher=require(‘./teacher.js’)

使用模块 teacher.add(‘wangcf’)

源码:

student.js

function add(student){
console.log('Add Student: ' + student)
}
//通过expots对象暴露方法
exports.add=add

teacher.js

function add(teacher){
console.log('Add Teacher: ' + teacher)
}
//通过expots对象暴露方法
exports.add=add

klass.js

//require引用模块
var student = require('./student')
var teacher = require('./teacher') function add(teacherName,students){
teacher.add(teacherName) students.forEach(function(item,index){
student.add(item);
}) }
///两者作用相同
//传统的模块实例,是module.exports的辅助方法
exports.add = add
//有这个会忽略exports特别的对象类型,真实存在的东西
//module.exports = add

index.js

var klass = require('./klass');

klass.add("教师",['学生1','学生2'])

exports.add = function(klasses){
klasses.forEach(function(item,index){
var _klass = item;
var teacherName = item.teacherName;
var students = item.students; klass.add(teacherName,students)
})
}

02慕课网《进击Node.js基础(一)》——CommonJs标准的更多相关文章

  1. 03慕课网《进击Node.js基础(一)》API-URL网址解析

    url url.parse(url,query,host);解析域名 url必须,地址字符串 query可选 host 可选:在不清楚协议时正确解析 querystring 字符串和对象之间互相解析 ...

  2. 01慕课网《进击Node.js基础(一)》Node.js安装,创建例子

    版本:偶数位为稳定版本,基数为非稳定版本 - 0.6.x - 0.7.x    - 0.8.x -0.9.x    -0.10.x  -0.11.x 概念:Node.js采用谷歌浏览器的V8引擎,用C ...

  3. 10慕课网《进击Node.js基础(一)》初识promise

    首先用最简单的方式实现一个动画效果 <!doctype> <html> <head> <title>Promise animation</titl ...

  4. 07慕课网《进击Node.js基础(一)》HTTP小爬虫

    获取HTML页面 var http = require('http') var url='http://www.imooc.com/learn/348' http.get(url,function(r ...

  5. 进击Node.js基础(二)

    一.一个牛逼闪闪的知识点Promise npm install bluebird 二.Promise实例 ball.html <!doctype> <!DOCTYPE html> ...

  6. 进击Node.js基础(一)

    一.前言 1:Node.js本质上是用chrome浏览器 v8引擎 使用c++编写的JS运行环境 2:相比于JS没有浏览器安全级的限制,额外提供了一些系统级的API:文件读写,进程管理,网络通信等. ...

  7. 04慕课网《进击Node.js基础(一)》HTTP讲解

    HTTP:通信协议 流程概述: http客户端发起请求,创建端口默认8080 http服务器在端口监听客户端请求 http服务器向客户端返回状态和内容 稍微详细解析: 1.域名解析:浏览器搜素自身的D ...

  8. 11慕课网《进击Node.js基础(一)》Buffer和Stream

    Buffer 用来保存原始数据 (logo.png) 以下代码读取logo.png为buffer类型 然后将buffer转化为string,新建png 可以将字符串配置: data:image/png ...

  9. 09慕课网《进击Node.js基础(一)》HTTP-get/request

    get是对request封装 可以在后台发起http请求,获取远程资源,更新或者同步远程资源 http.request(options[,callback]) 以下代码灌水失败: var http = ...

随机推荐

  1. MySQL----MySQL数据库入门----第二章 数据库和表的基本操作

    2.1 数据库和数据库表的创建 ①数据库的创建(在数据库系统中划分一块存储数据的空间): create database 数据库名称 [charset 字符集]: ②数据库表的创建 use 数据库名 ...

  2. 05.kafka提前准备工作:搭建zookeeper集群环境

    总体参考:http://www.cnblogs.com/zhangs1986/p/6564839.html 搭建之间同步下spark01.02.03的环境 复制/opt/flume这个文件夹到 spa ...

  3. day1-exercise

    """ Day1 作业 Isabelle/刘佳赐 October 22, 2018 """ """ 1. 变量 ...

  4. 详解 Python3 正则表达式(三)

    上一篇:详解 Python3 正则表达式(二) 本文翻译自:https://docs.python.org/3.4/howto/regex.html 博主对此做了一些批注和修改 ^_^ 模块级别的函数 ...

  5. 【Mac】gem install 出错 You don't have write permissions for the /Library/Ruby/Gems

    问题描述 RedisDump 是一个用于 Redis 数据导人/导出的工具,是基于 Ruby 实现的,需要先安装 Ruby.但因为 Mac 自带有 Ruby 所以我直接用gem install red ...

  6. SAP SM13 V2更新队列批量执行

    SE38输入程序名RSM13005 Function Module 输入MCEX_UPDATE_03 Client 输入800 其他默认 执行

  7. Java使用POI导出excel(上)——基本操作

    相关的介绍参考自:http://zc985552943.iteye.com/blog/1491546 一.概述 1.概念 受上文博文博主的启发,有必要先对excel的各个概念先做了解! //上述基本都 ...

  8. 20155317 2016-2017-2 《Java程序设计》实验一 Java开发环境的熟悉

    20155317 2016-2017-2 <Java程序设计>实验一 Java开发环境的熟悉 实验内容 使用JDK编译.运行简单的Java程序: 使用IDEA 编辑.编译.运行.调试Jav ...

  9. 罗佳琪的第三次预备作业——虚拟机的安装及Linux的初步学习

    虚拟机的安装及Linux的初步学习 坎坷的安装过程 首先我按照老师给的基于VirtualBox虚拟机安装Ubuntu图文教程进行了下载,下载很顺利但是安装时出现了问题. 起初我以为是电脑位数问题,但我 ...

  10. molokai

    git clone https://github.com/windy/ruby-vimrc.git~/.vim/colors/