javascript模块化规范之commonJS(node端的实现)
2019-06-26 13:14
501 查看
commonJS是javascript模块化规范之一。它的主要思想是"每个js文件即一个模块",在子模块中暴露接口到总的js文件中。可以避免污染全局环境,出现命名冲突的问题。commonJS的实现分为node端和浏览器端
node.js模块化
1.下载安装node.js
2.创建项目结构
|-modules
|-module1.js
|-module2.js
|-module3.js
|-app.js
|-package.json
{
“name”:“commonjs_node”,
verson:“1.0.0”
}
其中,modules中存放各个子模块,app.js是总的模块,package.json可以手动创建,也可以使用开发工具的命令行进入根目录,运行 npm init命令.
3.下载第三方模块
如下载uniq模块
npm install uniq --save
–save命令是将下载的第三方模块写入package.json中的dependencies属性
4.模块化编码
- module1.js
module.exports = { foo() { console.log('moudle1 foo()') } }
- module2.js
module.exports = function () { console.log('module2()') }
- module3.js
exports.foo = function () { console.log('module3 foo()') } exports.bar = function () { console.log('module3 bar()') }
- app.js
/** 1. 定义暴露模块: module.exports = value; exports.xxx = value; 2. 引入模块: var module = require(模块名或模块路径); */ "use strict"; //引用模块 let module1 = require('./modules/module1') let module2 = require('./modules/module2') let module3 = require('./modules/module3') let uniq = require('uniq') let fs = require('fs') //使用模块 module1.foo() module2() module3.foo() module3.bar() console.log(uniq([1, 3, 1, 4, 3])) fs.readFile('app.js', function (error, data) { console.log(data.toString()) })
子模块中暴露的实质上是exports对象,它原本是一个空的对象。module.exports = value(value可以是任何数据类型)。exports对象被重写。exports.xx = value,相当于向exports对象中添加属性xx.这种暴露方法可以暴露多个接口。而module.exports = value方法只能暴露一个接口。然后在app.js中用let moduleX = requie(“XXX”)。注意,当我们引入自定义模块时XXX指的是模块(即对应的js文件的相对路径),而当我们引入第三方模块时,XXX指的是报名.如require(“uniq”)
5.通过node运行app.js
*命令 node app.js
*工具 右键 运行
相关文章推荐
- 【Javascript】【模块化】通过commonJs实现模块化
- [置顶] Web前端 之 CommonJS 模块化规范与Node实现
- javascript模块化编程02模块化编程规范之CommonJS
- JavaScript模块化-RequireJs实现AMD规范的简单例子
- 该如何理解AMD ,CMD,CommonJS规范--javascript模块化加载学习总结
- 如何理解AMD ,CMD,CommonJS规范--javascript模块化加载学习总结
- javascript模块化编程:CommonJS和AMD规范
- 该如何理解AMD ,CMD,CommonJS规范--javascript模块化加载学习总结
- Javascript模块化编程及CommonJS和AMD规范浅析(二)
- JavaScript模块化编程 - CommonJS, AMD ,CMD和 RequireJS之间的关系
- JavaScript的模块化之AMD&CMD规范
- 理解用requireJs 来实现javascript的模块化加载
- Javascript模块化编程(二):AMD规范(转)
- Javascript模块化编程(二):AMD规范
- Javascript模块化编程(二):AMD规范
- javascript模块化编程二(AMD规范)
- Javascript模块化编程(二):AMD规范
- 深入理解Commonjs规范及Node模块实现
- Seajs 基础----使用SeaJS实现模块化JavaScript开发
- 模块化开发之CommonJS规范