1, 模块化
模块化:
1.sea、require 民间——野路子
CMD、AMD
模块.js define require/exports/moudle
前台.html use
2.node.js 语言自身
require/exports/moudle
node_modules ./
3.ES6 官方
export/import
———————————————————————————————————————————————————————
1, seajs. 模块还写法:
1,html 中 引入 sea.js
<script src="seajs/sea.js"></script>
<script type="text/javascript">
// 其中 use() 第一个参数, 一般写./ 开头,表示当前根目录
seajs.use('./hello.js',function(model){
console.log(model.a)
})
</script>
2. hello.js 中的写法!
define(function(require,exports,module){
//1, requrie 导入其他模块用这个函数
// exports.a = 20;
// exports.b = 23;
module.exports={
a:10,
b:20
}
})
/**
这个 exports 指向的就是 module.exports 的初始空对象
事件上会发现 Node 的模块化 就是讲过sea.js 模块化给继承进去了!
*/
3, sea.js 这个要获取的话。可以去找,
————————————————————————————————————————————、
node 模块化
由于是集合了sea.js 所以和野路子很像
node 的写法, 很简单:
- module.js 中就一句话
exports.a = 10;
index.js 中
let module = require('./module.js')
console.log(module.a)
// 结果会把10 打印出来!
可以node 中 集合野路子 sea.js 模块化时,进行了很大的简化操作!
其实本质还是一样的!
2. node 中,加载 系统的模块,写法很简单
require('http')
注意点:路径就不要加 ./ 了, 加./ 是引入自己写的, 不加./ 就是引入系统的,或者 node_modules 文件夹下的!
3. 如何自定义模块,让别人使用!
- 首先是自己建立个Node模块路径: 将所有的东西写好!
- 其次放在别人 的node_modules 路径下
- 引用就行了
1, 新建个 目录app 在该目录下,打开 cmd 窗口, 输入 npm init -y
命令就会新建一个package.json 配置文件
package.json
{
"name": "app",
"version": "1.0.0",
"description": "",
"main": "index.js",
"scripts": {
"test": "echo \"Error: no test specified\" && exit 1"
},
"author": "",
"license": "ISC"
}
其中最重要的就是
main 代表模块的入口文件
index.js 写法:
module.exports = {
action:'hell',
job:'manager',
sum(a,b){
return a + b;
}
,
chufa(a,b){
return a/b;
}
}
将 app 整个包copy 到 引用的node_modules目录下,就可以使用 了
实际上, 引入app 包时, 它会到package.json 文件中,找 main 对应的模块入口,也就是 index.js
这样就可以使用index.js 中导出的对象了!
行, node模块化,暂时先告以段落,
es6 模块化,暂时浏览器暂时不太支持,先放一边去!
****************************************************************************************************
下面就是babel 使用,我打算另写一篇