模块加载器有什么用?它如何在JQuery中使用? 如何使用require.js作为模块加载器。 请分享示例应用程序。如果你有!!
答案 0 :(得分:9)
好的,我进入部分
什么是模块加载器?
确定在Js中你不能使用导入指令(你可以在节点中使用。)这么多人都把他们的代码放在一起(甚至是他们使用的图书馆)所以他们不必加载任何东西,但这可以带来大型的js文件并为你的应用程序增加加载时间,其他人认为他们将代码分开并使用标签逐个加载,但这是不切实际的,因为你必须维护html页面中的所有定义,所以这里有require.js来帮你decopule你的代码创建模块然后按需加载。这样可以轻松地分离您的代码,并使小块更容易修复,维护或添加功能。
来自require.js docs
"当项目达到一定规模时,管理项目的脚本模块开始变得棘手。您需要确保按正确的顺序对脚本进行排序,并且您需要开始认真考虑将脚本组合在一起进行部署,以便只加载一个或非常少量的请求来加载脚本。 #34;
如何在JQuery中使用?
我会将问题更改为如何使用JQuery ?
您将在需要时加载Jquery作为依赖项,您有一个基本示例here
如何使用require.js作为模块加载器?
这里有一小段代码
html需要它
<!DOCTYPE html>
<html>
<head>
<title>jQuery+RequireJS Sample Page</title>
<script data-main="scripts/main" src="scripts/require-jquery.js"></script>
</head>
<body>
<h1>jQuery+RequireJS Sample Page</h1>
</body>
</html>
我们的main.js
require(["jquery", "jquery.alpha", "jquery.beta"], function($) {
//the jquery.alpha.js and jquery.beta.js plugins have been loaded.
$(function() {
$('body').alpha().beta();
});
});
配置的一部分
paths: {
"jquery": "require-jquery"
},
modules: [
{
name: "main",
exclude: ["jquery"]
}
我希望这可以帮到你。您可以下载示例项目here
我将添加我的应用示例,以便您了解如何使用Backbone并要求
配置
require.config({
shim: {
'underscore': {
deps: ['jquery'], //dependencies
exports: '_' //the exported symbol
},
backbone: {
deps: ['underscore', 'jquery'],
exports: 'Backbone'
}
}
paths: {
jquery: 'libs/jquery/jquery-1.7.1.min',
underscore: 'libs/underscore/underscore-min',
backbone: 'libs/backbone/backbone-min',
}
});
示例模块
define(['jquery', 'underscore', 'backbone'], function($, _, Backbone) {
//Your code Here
});
玩得开心玩得开心: - )