node模块化开发基本知识学习笔记
传统非模块化开发缺点:
1、命名冲突
2、文件依赖
标准的模块化规范:
1、AMD-requirejs
2、CMD-seajs
服务器端模块化规范:
1.CommonJS-Node.js
模块化相关的规则:
1、如何定义模块:一个Js文件就是一个模块,模块内部成员相互独立
2、模块成员的导出和引入
nodejs模块化示例:
1.方式1
所需模块0.js
//定义模块成员
var sum = function(a,b){
return parseInt(a)+parseInt(b)
}
//导出模块成员
exports.sum = sum
引入模块1.js
//引入模块
var module = require('./0.js')
//使用模块成员
var ret = module.sum(12,13);
console.log(ret);
2.方式2
所需模块0.js
//定义模块成员
var sum = function(a,b){
return parseInt(a)+parseInt(b)
}
//导出模块成员
//exports.sum = sum
//导出成员的另一种方式
module.exports = sum
引入模块1.js
//引入模块
var module = require('./0.js')
//使用模块成员
// var ret = module.sum(12,13);
// console.log(ret);
var ret = module(12,15)
console.log(ret)
3.方式3
所需模块0.js
//定义模块成员
var sum = function(a,b){
return parseInt(a)+parseInt(b)
}
//导出模块成员
global.flag = sum
引入模块1.js
//引入模块
//var module = require('./0.js')
//使用模块成员
// var ret = module.sum(12,13);
// console.log(ret);
//不用引入模块,直接调用全局模块
var ret = global.flag(,)
console.log(ret)
4.规则
1.已经加载的模块会缓存,不会重复加载
2.后缀可省略,不同后缀优先级不同,顺序为.js>.json>.node
node模块化开发基本知识学习笔记的更多相关文章
- 《疯狂前端开发讲义jQuery+Angular+Bootstrap前端开发实践》学习笔记
		
<疯狂前端开发讲义jQuery+Angular+Bootstrap前端开发实践>学习笔记 二〇一九年二月十三日星期三2时28分54秒 前提:本书适合有初步HTML.CSS.JavaScri ...
 - Objective-c基础知识学习笔记
		
Objective-c基础知识学习笔记(一) 一直有记录笔记的习惯.但非常久没分享一些东西了,正好上半年開始学习IOS了,如今有空写点.因开发须要,公司特意为我们配置了几台新MAC.还让我们自学了2周 ...
 - MySQL索引知识学习笔记
		
目录 一.索引的概念 二.索引分类 三.索引用法 四 .索引架构简介 五.索引适用的情况 六.索引不适用的情况 继我的上篇博客:Oracle索引知识学习笔记,再记录一篇MySQL的索引知识学习笔记,本 ...
 - lua游戏开发实践指南学习笔记1
		
本文是依据lua游戏开发实践指南做的一些学习笔记,仅用于继续自己学习的一些知识. Lua基础 1. 语言定义: 在lua语言中,标识符有非常大的灵活性(变量和函数名),只是用户不呢个以数字作为起始符 ...
 - ASP.Net开发基础温故知新学习笔记
		
申明:本文是学习2014版ASP.Net视频教程的学习笔记,仅供本人复习之用,也没有发布到博客园首页. 一.一般处理程序基础 (1)表单提交注意点: ①GET通过URL,POST通过报文体: ②需在H ...
 - Python 开发与接口测试学习笔记
		
这是我跟着虫师学习中积累下来的学习笔记,写得比较简单,适合想学习Python开发与接口测试的初学者学习. 一.开发投票系统 1.参考官网文档,创建投票系统. https://docs.djangopr ...
 - Windows驱动开发工具 WDK 学习笔记(1)
		
目标:能够把电脑当作一个集成有高性能处理器的开发板用起来,当然,还自带了一个高级的操作系统Windows(必须的).总之,就是在一个带了操作系统的高性能开发板上的驱动程序开发. 性质:纯属业余爱好 1 ...
 - 【VS开发】VSTO 学习笔记(十)Office 2010 Ribbon开发
		
微软的Office系列办公套件从Office 2007开始首次引入了Ribbon导航菜单模式,其将一系列相关的功能集成在一个个Ribbon中,便于集中管理.操作.这种Ribbon是高度可定制的,用户可 ...
 - PHP 开发 APP 接口 学习笔记与总结 - Redis 缓存
		
Redis 可以定期将数据备份到磁盘中(持久化),同时不仅仅支持简单的key/value 类型的数据,同时还提供list,set,hash等数据结构的存储:Memcache 只是简单的key/valu ...
 
随机推荐
- 从O365中获取users到D365中  使用flow
			
在我上篇blog中讲解到了怎么用代码把O365 users 获取到D365中. 从O365中获取users到D365中 这几天一直在研究flow, 发现flow可以更简单的完成这个功能. 一开始没有考 ...
 - remote: error: hook declined to update refs/heads
			
打开工程目录下.git/config文件,补充user信息 , [user] username = xxx email = xxx@126.com 打开工程目录下.git/description文件, ...
 - @ComponentScan注解,basePackages参数通配符
			
@ComponentScan(basePackages = "com.ofo.test")当basePackages的直使用通配符,使用**,不能使用*.引用:https://bl ...
 - Codeforces 922 E Birds (背包dp)被define坑了的一题
			
网页链接:点击打开链接 Apart from plush toys, Imp is a huge fan of little yellow birds! To summon birds, Imp ne ...
 - 【WPF学习】第四十三章 路径和几何图形
			
前面四章介绍了继承自Shape的类,包括Rectangle.Ellipse.Polygon以及Polyline.但还有一个继承自Shape的类尚未介绍,而且该类是到现在为止功能最强大的形状类,即Pat ...
 - Java 添加OLE对象到Excel文档
			
本文介绍通过Java程序添加OLE对象到Excel文档.OLE分为两种形式,一种通过嵌入(Embed),方式,一种通过链接(Link)方式.前者是将对象嵌入到文档中,外部对该对象的更改不影响嵌入操作时 ...
 - linux下安装php的svn模块
			
在php下为了方便使用svn命令,还是安装下php的svn扩展 首先确保机器上已经有lamp或lnmp环境,然后 >yum install subversion subversion-devel ...
 - ELK(V7)部署与架构分析
			
1.ELK的背景介绍与应用场景 在项目应用运行的过程中,往往会产生大量的日志,我们往往需要根据日志来定位分析我们的服务器项目运行情况与BUG产生位置.一般情况下直接在日志文件中tailf. grep. ...
 - 编译安装php依赖软件libiconv-1.14报错及其解决办法
			
make && make install报如下错误: ./stdio.h:1010:1: 错误:‘gets’未声明(不在函数内) _GL_WARN_ON_USE (gets, &quo ...
 - mac 经常使用的快捷键操作
			
##### touch bar 作用1: 打开项目的一些快捷操作键. 作用2: 右侧的< 打开有一些以前的常规操作. ##### 手势 ##### mac自带的一些操作 cmd + opt + ...