模块化 模块就是实现特定功能的一组方法。只要把不同的函数(以及记录状态的变量)简单地放在一起,就算是一个模块。

下述两种写法等价

exports 对象是当前模块的导出对象,用于导出模块公有方法和属性。别的模块通过require函数使用当前模块时得到的就是当前模块的exports对象

//声明一个函数
var math = function(a, b) {
return a+b;
}
/*
* exports对象是当前模块的导出对象,用于导出模块公有方法和属性。
* 别的模块通过require函数使用当前模块时得到的就是当前模块的exports对象
*/
exports.math = math;

require.js  require函数用于在当前模块中加载和使用别的模块,传入一个模块名,返回一个模块导出对象。

(说明:NodeJS与requireJS区别 NodeJS没有最外层的Wrapper包装  define(function(require, exports){}))

require.js  官网文档 http://requirejs.org

require.js解决两个问题

(1)实现js文件的异步加载,避免网页失去响应;

  ( require.js JavaScript库文件实现AMD 【requireAsynchronous Module Definition】规范;实现js模块文件的异步加载 )

(2)管理模块之间的依赖性,便于代码的编写和维护。   具体参考 Javascript模块化编程(三):require.js的用法

requireJS写法  [实现选项卡切换功能模块化]

data-main属性的作用是,指定网页程序的主模块。在上例中,就是js目录下面的main.js,这个文件会第一个被require.js加载。

由于require.js默认的文件后缀名是js,所以可以把main.js简写成main.

其中在main.js中,require.config({}) 配置参数说明

baseUrl配置模块根目录,baseUrl可以是绝对路径也可以是相对路径

在paths参数中,我们设置了模块名称(可以随意指定)和js文件路径的映射

shim参数中,指定了模块名和它依赖的数组(Bootstrap's JavaScript requires jQuery)

选项卡切换功能模块化写法如下

选项卡功能模块化写法源代码下载 【请点击】

作者:Avenstar

出处:http://www.cnblogs.com/zjf-1992/p/6403111.html

关于作者:专注于前端开发

本文版权归作者所有,转载请标明原文链接

【资料参考】

https://cnodejs.org/getstart

http://www.tuicool.com/articles/vMZBnyr

http://www.ruanyifeng.com/blog/2012/10/javascript_module.html

http://www.ruanyifeng.com/blog/2012/10/asynchronous_module_definition.html

http://www.ruanyifeng.com/blog/2012/11/require_js.html

require.js模块化写法的更多相关文章

  1. require.js模块化

    require.js简单来说就是把js代码分装模块化了 模块化 模块就是实现特定功能的一组方法.只要把不同的函数(以及记录状态的变量)简单地放在一起,就算是一个模块. 我拿一个运动框架来解释一下req ...

  2. 初步理解require.js模块化编程

    初步理解require.js模块化编程 一.Javascript模块化编程 目前,通行的Javascript模块规范共有两种:CommonJS和AMD. 1.commonjs 2009年,美国程序员R ...

  3. require.js 模块化

    什么是模块化? 将若干功能进行封装,以备将来被重复使用. 为什么要前端模块化? 将公共功能进行封装实现复用 灵活解决依赖 解决全局变量污染 如何实现前端模块化? <!DOCTYPE html&g ...

  4. require.js模块化管理和加载js(按需加载)简单实例教学

    一.为什么要用require.js? 最早的时候,所有Javascript代码都写在一个文件里面,只要加载这一个文件就够了.后来,代码越来越多,一个文件不够了,必须分成多个文件,依次加载.下面的网页代 ...

  5. require.js 模块化简单理解

    组件化 基于UI 样式布局 没有过多 js 代码操作的 比如:一个导航栏 一个表单 一个搜索框 一个侧边栏 一个html 等等.... 模块化 基于功能模块 一个可以替换的js部分称之为模块(modu ...

  6. JS模块化写法

    /* 模块化写法*/ var Person=function(){ var name='Jone', age='24', sex='male'; function createIdea(){ //{. ...

  7. node.js模块化写法入门

    子模块的写法: function SVN(){ console.log('svn initialized'); return this; } function getInstance() { cons ...

  8. require.js模块化开发

    模块化开发的原因: 1.引入的js过多然后在加载的过程中容易出现假死的状态,导致页面会发生白屏 2.变量名的问题 在多人协作开发的时候容易出现变量名的冲突 面向对象 3.引入优先级的问题 模块化开发分 ...

  9. JS模块化写法(转)

    一.原始写法 模块就是实现特定功能的一组方法. 只要把不同的函数(以及记录状态的变量)简单地放在一起,就算是一个模块. function m1(){ //... } function m2(){ // ...

随机推荐

  1. 伤不起的微信小程序

    前段时间不是很忙,刚好公司需要开发一个微信小程序,于是我就入坑了(此坑还是有点深滴,请备好干粮). 我是一名iOS开发工程师,个人觉得入门开发小程序的话,需要基本的web前端知识,比如说:代码的书写格 ...

  2. Problem N

    Problem Description The cows have purchased a yogurt factory that makes world-famous Yucky Yogurt. O ...

  3. Android 开发笔记___SQLite__基本用法

    SQLiteOpenHelper package com.example.alimjan.hello_world.dataBase; import android.content.ContentVal ...

  4. Android 开发笔记___alertDialog

    public class AlertActivity extends AppCompatActivity implements OnClickListener { private TextView t ...

  5. 腾讯Java程序员第二轮面试11个问题,你会几个?

    此前,分享了阿里巴巴.网易.百度等多家名企的JAVA面试题. 这也引来了不少程序员网友们的围观. 其中,也有相当一部分网友是已经从事Java开发好多年的程序员,当他们阅读完JAVA面试题的反应是:一个 ...

  6. alert 执行顺序问题

    <p><span id="span1">Hello World!</span></p> <script type=" ...

  7. CLR类型设计之泛型(二)

    在上一篇文章中,介绍了什么是泛型,以及泛型和非泛型的区别,这篇文章主要讲一些泛型的高级用法,泛型方法,泛型接口和泛型委托,协变和逆变泛型类型参数和约束性,泛型的高级用法在平时的业务中用的不多,多用于封 ...

  8. OpenTSDB - 分布式可扩展的监控系统

    OpenTSDB - A Distributed, Scalable Monitoring System http://opentsdb.net/getting-started.html http:/ ...

  9. ThinkPHP中浏览器友好输出函数

    // 环境常量 define('IS_CLI', PHP_SAPI == 'cli' ? true : false); define('IS_WIN', strpos(PHP_OS, 'WIN') ! ...

  10. html基本标签与属性

    HTML 超文本标记语言 html5 建立一个HTML文件:文件名 . 后缀(html)   解析:就是去识别 注释:就是给开发人员开的批注------浏览器不去解析(不去输出)   HTML的整体框 ...