模块化开发好处
- 避免变量污染,命名冲突
- 提高代码复用率
- 提高维护性
- 依赖关系的管理
原生js模块化开发
var module = (function(){
var arr = [1,2,3,4]
function func(){
arr.forEach((val)=>{
console.log(val);
})
}
function func1(){
console.log('不可见');
}
return {
func:func
}
})();
module为外部引用时的对象名。
return 内部填写需要暴露的变量,方法名,前面为别名即暴露出去的变量名,后面为实际调用的内部变量名称。
上面js文件中只暴露了func方法,调用时其他变量方法不可见
html中直接引入该js文件路径,即可调用该模块文件中暴露的方法。
<script src="文件路径"></script>
nodejs中模块化开发
var arr = [1,2,3,4,5];
function func(){
arr.forEach((val)=>{
console.log(val);
})
}
function func1(){
console.log('不可见');
}
module.exports = {
func:func
}
module.exports内部为需要暴露的变量,方法。
外部调用:
var myModule = require('路径');
//myModule为对象名,可直接调用方法。