美文网首页
关于模块化

关于模块化

作者: greenteaObject | 来源:发表于2017-07-09 02:42 被阅读0次

什么是模块化?

模块化可以更加清晰的将文件与文件之间的引用关系更好的配合.当文件与文件之间有很多引用关系时,我们不必要知道底层的文件A与文件B如何引用,只需要引入最上层的文件,剩下的都自动引用了.如果不使用模块化,在文件引用时,这个函数必须是全局变量,那样则会造成全局的污染

AMD

  • requirejs.js
  • 全局define函数
  • 全局requier函数
  • JS会自动异步加载

Demo

使用AMD要在html中引入require.js,其中data-main是入口

<script src="https://cdn.bootcss.com/require.js/2.3.3/require.min.js" data-main="./main.js"></script>

util.js
它不依赖任何模块,也就不需要引入依赖了

define(function(){
    var util = {
        getFormatDate:function(date,type){
            if (type === 1) {
                return '2017-06-20'
            }
            if (type === 2) {
                return '2017年6月20日'
            }
        }
    }
    return util
})

a-util.js

define(['./util.js'],function(util){
  var aUtil = {
    aGetFormatDate: function(date){
      return util.getFormatDate(date,2)
    }
  }
  return aUtil
})

a.js

define(['./a-util.js'],function(aUitl){
  var a = {
    printDate:function(date){
      console.log(aUitl.aGetFormatDate(date))
    }
  }
  return a
})

main.js
最后,main.js作为一个入口,不需要定义任何东西了.所以使用require()

require(['./a.js'],function(a){
  var date = new Date()
  a.printDate(date)
})

CommonJS

nodejs模块化规范,现在被大量的应用于前端
前端开发依赖的插件和库,都可以从npm中获取
构建工具的高度自动化,使得使用npm的成本非常低
CommonJS不会异步加载JS,而是同步一次性加载出来

Demo

module.exports = {
  print:function(){
    console.log(123)
  }
}
var aUtil = require('./a-util.js')
aUtil.print()

相关文章

  • 关于Android的模块化开发

    关于模块化 关于模块化就不过多介绍了,感兴趣的可以看一下Android 模块化探索与实践和安居客 Android ...

  • es6总结

    1.模块化 /*关于模块化的了解 非模块化有以下缺点: 1.命名冲突 2.文件依赖 前端流行的模块化:AMD re...

  • 关于前端模块化开发

    关于前端模块化开发 1 前端中有哪些模块化开发的规范以及实现方案 2 模块化的开发的好处 3 CommonJS

  • 模块化思想与最小可工作案例法

    1 模块化思想 长期以来,关于模块化思想,我们中国人已经听得耳朵生茧了吧。但问题却是我们中国人真的理解模块化思想了...

  • 关于JS模块化时循环加载的那些事儿

    关于JS模块化时循环加载的那些事儿 关于JS模块化的相关知识有很多,一些基本的知识平时都会有注意到,但是在实践中发...

  • 前端javascript模块化

    JavaScript js 模块化 关于js模块化的理解写法一 写法二 写法三 写发四(不推荐) 写发五 (错误写...

  • webpack打包基本使用

    关于模块化的好处什么、其他的如:AMD、CMD、CommonJS等模块化的介绍、规范这里就不多说了,直接就说现在流...

  • 关于模块化

    什么是模块化? 模块化可以更加清晰的将文件与文件之间的引用关系更好的配合.当文件与文件之间有很多引用关系时,我们不...

  • 使用ARouter进行Android模块化开发

    Android模块化 关于为什么要进行Android模块化开发,网上也已经讲烂了,不过归结起来,大体是可以总结为:...

  • iOS 代码优化 -- AppDelegate模块化瘦身

    前言 关于iOS的模块化,要追溯到16年接触的BeeHive了,BeeHive将功能模块化,以module的形式进...

网友评论

      本文标题:关于模块化

      本文链接:https://www.haomeiwen.com/subject/zjqshxtx.html