02慕课网《进击Node.js基础(一)》——CommonJs标准
是一套规范管理模块
每个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标准的更多相关文章
- 03慕课网《进击Node.js基础(一)》API-URL网址解析
url url.parse(url,query,host);解析域名 url必须,地址字符串 query可选 host 可选:在不清楚协议时正确解析 querystring 字符串和对象之间互相解析 ...
- 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 ...
- 10慕课网《进击Node.js基础(一)》初识promise
首先用最简单的方式实现一个动画效果 <!doctype> <html> <head> <title>Promise animation</titl ...
- 07慕课网《进击Node.js基础(一)》HTTP小爬虫
获取HTML页面 var http = require('http') var url='http://www.imooc.com/learn/348' http.get(url,function(r ...
- 进击Node.js基础(二)
一.一个牛逼闪闪的知识点Promise npm install bluebird 二.Promise实例 ball.html <!doctype> <!DOCTYPE html> ...
- 进击Node.js基础(一)
一.前言 1:Node.js本质上是用chrome浏览器 v8引擎 使用c++编写的JS运行环境 2:相比于JS没有浏览器安全级的限制,额外提供了一些系统级的API:文件读写,进程管理,网络通信等. ...
- 04慕课网《进击Node.js基础(一)》HTTP讲解
HTTP:通信协议 流程概述: http客户端发起请求,创建端口默认8080 http服务器在端口监听客户端请求 http服务器向客户端返回状态和内容 稍微详细解析: 1.域名解析:浏览器搜素自身的D ...
- 11慕课网《进击Node.js基础(一)》Buffer和Stream
Buffer 用来保存原始数据 (logo.png) 以下代码读取logo.png为buffer类型 然后将buffer转化为string,新建png 可以将字符串配置: data:image/png ...
- 09慕课网《进击Node.js基础(一)》HTTP-get/request
get是对request封装 可以在后台发起http请求,获取远程资源,更新或者同步远程资源 http.request(options[,callback]) 以下代码灌水失败: var http = ...
随机推荐
- 【Linux】文件、目录权限及归属
访问权限: 可读(read):允许查看文件内容.显示目录列表 可写(write):允许修改文件内容,允许在目录中新建.移动.删除文件或子目录 可执行(execute):允许运行程序.切换目录 归属: ...
- Ubuntu修改桌面为Desktop
想用中文系统,却不想用中文文件夹,可以用以下方法: 先把home路径下的桌面文件夹修改为Desktop 然后在命令行输入 nano ~/.config/user-dirs.dirs 修改后ctrl - ...
- 可编辑div中包含子元素时获取光标位置不准确的问题
前言: 高亮显示输入框中的关键字符,这就必须得用到可编辑div(或其他标签)元素了,这时我们需要获取光标的位置,以便插入字符. 正文: 正常情况下获取光标位置,代码如下: function getPo ...
- 【Spark】编程实战之模拟SparkRPC原理实现自定义RPC
1. 什么是RPC RPC(Remote Procedure Call)远程过程调用.在Hadoop和Spark中都使用了PRC,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的 ...
- (杭电1019 最小公倍数) Least Common Multiple
Least Common Multiple Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Other ...
- 使用VS2015 编译 64位的boost库
别人写的编译参考: 目标:使用VS2015 编译 64位的boost库. 一直以来都是在Win32环境下Build和使用boost,但现在基本上每天都在64位Win7下工作,所以很有必要把这几天的经验 ...
- 【8086汇编-Day1】预备知识
菜鸟的8086汇编入门之旅,偶有错处恭请大佬们指正. Ⅰ· 闲说一下 我为什么学汇编?相对于晦涩难懂的01010101011010机器语言(高低电平变化驱动机器做出不同反应),汇编语言用更便于记忆和使 ...
- js scroll nav
http://jsfiddle.net/cse_tushar/Dxtyu/141/http://ironsummitmedia.github.io/startbootstrap-scrolling-n ...
- echarts设置小图标位置
// <!-- 左上角小图标 --> toolbox: { show : true, // orient: 'horizontal', // 布局方式,默认为水平布局,可选为: // // ...
- 电脑开机svchost.exe报错
一.问题: 这几天电脑开机一直弹出一个对话框说:svchost.exe文件不能运行,百度后发现是用于动态运行库的依赖(dll),不过不知道是个啥东西 二.解决: 开机弹框虽然不影响电脑的使用,但是看着 ...