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 = ...
随机推荐
- 使用Mybatis连接到Mysql报错,WARN: Establishing SSL connection without server's identity verification is not recommended. According to MySQL 5.5.45+, 5.6.26+ and 5.7.6+ requirements SSL connection must be esta
在Eclipse中使用springboot整合Mybatis,连接到5.7版本Mysql报错WARN: Establishing SSL connection without server's ide ...
- (转载)SendKeys.Send()的使用
SendKeys.Send() 使用SendKeys将键击和组合键击发送到活动应用程序.此类无法实例化.若要发送一个键击给某个类并立即继续程序流,请使用Send.若要等待键击启动的任何进程,请使用Se ...
- Redis对象类型
Redis对象类型 Redis基于基础的数据结构创建的对象: 字符串对象. 列表对象. 哈希对象. 集合对象 有序集合对象. 对象回收:Redis对象系统实现了基于引用计数技术的内存回收机制,当程序不 ...
- 大数据学习之Hadoop运行模式
一.Hadoop运行模式 (1)本地模式(默认模式): 不需要启用单独进程,直接可以运行,测试和开发时使用. (2)伪分布式模式: 等同于完全分布式,只有一个节点. (3)完全分布式模式: 多个节点一 ...
- 树莓派安装samba服务
1.安装 sudo apt-get update sudo apt-get install samba sudo apt-get install samba-common-bin 2.配置 sudo ...
- Go实现发送解析GET与POST请求
参考链接: https://www.jb51.net/article/115693.htm https://www.jb51.net/article/60900.htm https://www.cnb ...
- 手动安装R包
1,先将R包下载到本地 2,getwd() setwd("F:\\CNV\\Paper\\Case-control\\mHMM") 3, install.packages(&quo ...
- Ubuntu16.04 下 python 3.6 安装以及各版本python切换(同时解决各种依赖缺失)
有些博客给出了从源代码通过./configure.make.sudo make 会导致安装玩之后出现各种依赖缺失的问题,如_sqlite3._bz2 等问题. 当然也有很多帖子给出了从系统自带的pyt ...
- 20155310 2016-2017-2 《Java程序设计》第2周学习总结
20155310 2016-2017-2 <Java程序设计>第2周学习总结 教材学习内容总结 •布尔:boolean类型可表示true和false. •浮点数:主要用来储存小数数值,细分 ...
- 20155322 2016-2017-2 《Java程序设计》第2周学习总结
20155322 2016-2017-2 <Java程序设计>第2周学习总结 教材学习内容总结 本周按照教学安排学习教材的第三章,下面简单的概括一下我的学习总结: 第三章的主要内容是有关于 ...