模块加载器有什么用?它如何在 JQuery 中使用?如何使用 require.js 作为模块加载器。也请分享示例应用程序。如果你有!!
1 回答
好的,我分部分去
什么是模块加载器?
好的,在 Js 中你不能使用导入指令(在节点中是的,你可以。)所以很多人将他们的代码放在一起(甚至他们使用的库),所以他们不必加载任何东西,但这会带来很大js 文件并为您的应用程序添加加载时间,其他人认为他们将代码分开并使用标签分段加载,但这是不切实际的,因为您必须维护 html 页面中的所有定义,所以这里有 require.js并通过创建模块并按需加载来帮助您解耦代码。这使您可以轻松地分离代码,并使小块更易于修复、维护或添加功能。
来自 require.js 文档
“当项目达到一定规模时,管理项目的脚本模块开始变得棘手。您需要确保以正确的顺序对脚本进行排序,并且您需要开始认真考虑将脚本组合成一个包部署,以便只发出一个或极少数请求来加载脚本。”
它如何在 JQuery 中使用?
我会将问题更改为如何与 JQuery 一起使用?
您将在需要时将 Jquery 作为依赖项加载,这里有一个基本示例
如何使用 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"]
}
我希望这可以帮助你。您可以在此处下载示例项目
我将添加我的应用程序示例,以便您了解如何使用 Backbone 和 require
配置
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
});
享受与 require 一起工作的乐趣 :-)