`

require.js模块加载器的基本用法

 
阅读更多

require.js是一种基于AMD规范的模块加载器,至于什么是AMD规范,就不在这里详细描述了,有兴趣了解的可以去问度娘(^_^)

 

主要用到的就是两个方法:defind, require...

 

require.config()    //  定义requirejs的相关配置

如:

 

requirejs.config({

   // 定义参数后缀,当require加载其他js文件时,会追加在请求url后,见下图

    urlArgs: "v="+new Date().getTime(),

   // 主目录,表示通过require加载的文件都是基于此目录下的文件

    baseUrl:"",
   // 定义模块映射,后面直接通过对应的key(如:"jquery")来引用模块

    paths: {

        C: 'js/common/common', 
        jquery: "lib/jquery.min"    
    },
   // 定义模块依赖

   shim: {       
// 表示js/common/common.js文件依赖jquery,requirejs在加载common.js时会自动先加载jquery,再加载common.js

       C: ['jquery'],  // 定义模块依赖的简写,也可以写为: C:{ deps:["jquery"]  }

       jquery: {

                exports: 'jQuery'

            }

   }

});

 

shim属性,专门用来配置不兼容的模块。

  (1)exports值(输出的变量名),表明这个模块外部调用时的名称;

  (2)deps数组,表明该模块的依赖性。

 

 

define 定义模块

参数:([模块名],[依赖项], 回调方法)

 

如:

controller/index.js

=====

// 如果有依赖的js模块可以写在“[]”内,如["jquery"],没有依赖项,则可以不传这个参数

define([“jquery"], function($){
   return {    // 将需要抛出给外部调用的对象return出来
       init: function(){
            console.log($("body").height());  // 输出body的高度
      }
   }
})

 

require 引入模块

参数:([模块名],回调方法)
如:

main.js

=====

// 引入controller/index

require(["controller/index"], function(indexController){
         indexController.init();  // 调用controller/index.js中定义的init方法
});

 

页面用法:

如: index.html

在页面中引入require.js(data-main:定义require.js的主入口模块

<script type="text/javascript" src="require.js" data-main="src/main"></script>

或者:
<script type="text/javascript">
   require(["controller/index"], function(indexController){
           indexController.init();  // 调用controller/index.js中定义的init方法
   });
</script>

 

  • 大小: 20 KB
分享到:
评论

相关推荐

    Require.js的基本用法详解

    ①:require.js是一个js脚本加载器,它遵循AMD(Asynchronous Module Definition)规范,实现js脚本的异步加载,不阻塞页面的渲染和其后的脚本的执行,并提供了在加载完成之后的执行相应回调函数的功能; ②:require....

    dotjs-loader:用于webpack的doT.js模块加载器

    用于webpack的模块加载器 用法 安装 使用npm安装。 doT是一个对等依赖项,应单独安装: npm install --save-dev dot dotjs-loader 配置 在webpack.config.js配置加载器: module: { loaders : [ { test : / \. ...

    requireJS require.js下载

    RequireJS 是一个JavaScript模块加载器。它非常适合在浏览器中使用,但它也可以用在其他脚本环境,就像 Rhino and Node。使用RequireJS加载模块化脚本将提高代码的加载速度和质量。【百度百科】

    node-sandboxed-module:沙盒中的node.js模块加载器,可让您将依赖项注入模块

    沙盒式node.js模块加载器,可让您将依赖项注入模块中。 安装 npm install sandboxed-module 用法 var SandboxedModule = require ( 'sandboxed-module' ) ; var user = SandboxedModule . require ( './user' , { ...

    harmonyos2-autoloader:Node.JS模块自动加载器

    只需将自动加载器定义到您的代码库,并使用与文件相关的名称。 即 lib/Foo/Bar/Baz.js 当你加载 'lib/' 使 Foo_Bar_Baz require('./lib/Foo/Bar/Baz.js') 自动返回值。 2.0 要求 2.0 彻底改变了这个项目的工作方式。...

    mt-module:基本的 requiremodule.exports 风格的模块加载器

    MT-模块这是一个(目前非常基本的)客户端 Javascript 模块加载器。 它允许您使用 Commonjs/NodeJS 风格的“require()”来处理客户端项目中的依赖项,而无需编译任何东西。 用法非常简单:只需将其包含在您的 HTML ...

    configLoadr:用于加载配置文件的 Node.js 模块

    配置加载器用于加载配置文件的 Node.js 模块许可证用法npm install config-loadr --save var ConfigLoadr = require ( 'config-loadr' ) ;职能配置加载器() var configLoadr = new ConfigLoadr ( [ mixed load [ , ...

    simple-browser-require:一个简单的、类似于 node.js 的 require() 用于浏览器

    它不是异步脚本加载器。用法将每个模块包装在一个require.register调用中: require . register ( 'my/module/id' , function ( module , exports , require ) {// module code here} ) ; ...允许require函数返回...

    polestar:Demoboard中使用的用于浏览器的通用js模块加载器

    , 和的使用的用于浏览器的通用js模块加载器 Polestar按需从NPM和/或虚拟文件系统加载commonjs模块。 它是高度可配置的,使您能够: 异步解决和构建每个require()调用的请求(而您的模块仍将require()用作同步函数...

    模块管理程序KSLITE.zip

    KsLite 是 10 年开发的一个短小精悍的模块加载器,特别适合在广告投放、广告创意等第三方应用中使用。它的种子文件本身支持异步加载,并可以被多次加载。而其本身已具有现代模块加载器必备的异步的多层依赖处理机制...

    es6-loader:用于 webpack 的 ES6 模块加载器

    已弃用:请使用更新的转译器,例如 。es6-loader 为转译 ES6 语法。用法 import bamboo from 'es6!./bamboo.js' ;class Panda { constructor ( arg = 'default' ) { this . eat = bamboo ; }}export default Panda ;...

    angular-wrapper:Webpack的Angular.js 1.2包装器

    Angular.js 1.3及更高版本不需要此项目安装要安装该库,只需运行: npm install --save angular-wrapper用法这是使用此包装器加载Angular.js的示例: var angular = require("angular-wrapper");var ...

    wagon-js:在jQuery之上运行的非常小的模块加载器

    描述Wagon.js是一个非常小的模块加载器(1.4k),可在jQuery之上进行调整。 它的用法非常简单,您不需要使用任何其他包装。 它的语法可能会吸引CommonJS或AMD用户。用法首先,在调用wagon.min.js之后立即通过...

    dynalist-archiver:Node.JS模块,用于在Dynalist文档中归档完成的任务

    要使用它,必须编写一些Java脚本来加载和配置存档器。一个可重用的示例实现正在开发中。它能做什么该模块可配置,但运行时的基本操作始终相同:从源文档中获取符合所需条件的项目(例如“所有选中的项目”) (可选...

    Web前端模块化框架BrowserRequire.zip

    在过去的Web开发中,遇到现有的模块化框架无法满足的需求,故开发一款更符合浏览器使用的模块加载器; 编写BrowserRequire目的不在于统一前后端模块使用,而是做一款更适合Web前端开发需求的模块化框架; 更...

    JavaScript模块化之使用requireJS按需加载

    模块加载器的概念可能稍微接触过前端开发的童鞋都不会陌生,通过模块加载器可以有效的解决这些问题: JS文件的依赖关系。 通过异步加载优化script标签引起的阻塞问题 可以简单的以文件为单位将功能模块化并实现...

    node-groot:具有全局变量的模块加载器

    具有全局变量的模块加载器 该模块试图解决和改进模块加载。 require()具有相对路径,例如../../../foo/bar是很常见的。 这是 Node.js 社区已知的一个众所周知的问题:Node.js 的。 有一些解决方案似乎有效,但我...

    node-getmod:带别名的模块加载器

    获取模式带别名的模块加载器 该模块试图解决和改进模块加载。 require()具有相对路径,例如../../../foo/bar是很常见的。 这是 Node.js 社区已知的一个众所周知的问题:Node.js 的。 有一些解决方案似乎有效,但我...

    module:一个微型模块加载器

    一个小型 AMD 风格的加载器,添加了一个define和require功能,可用于模块化您的代码库。 用法 require用于可以被其他模块调用和重用的模块。 define用于仅对已注册模块执行操作的模块。 两者的语法相同。 基本 ...

    Warframe.js:用于Warframes WorldState数据JavaScript API包装器

    用于Warframe的WorldState数据JavaScript API包装器 安装 要安装浏览器版本,只需使用CDN Link将JS文件添加到您HTML中,或将app.js添加到您的项目中: CDN: [removed][removed] 从您的项目中: [removed]...

Global site tag (gtag.js) - Google Analytics