我在这方面看到了很多帖子和文章。其中一些是,
开发模块化 Backbonejs 应用程序
TodoMVC with requireJS
Stack Overflow post with most upvotes
所以模块化 jquery、backbonejs 和其他库对我来说没有问题。我的问题是我为什么要这样做?因为在每个 js 文件上,我们将使用 jquery 和backbonejs,并且在每个文件上添加下面的代码对我来说似乎是额外的负担。
define([
'jquery',
'underscore',
'backbone',
'myFile1', 'myFile1'
], function ($, _, Backbone, module1, module2) {
为什么我不应该在像下面这样包含 requireJS 之前将它们直接包含到 html 文件中?
<script src="../lib/client/jquery.js"></script>
<script src="../lib/client/underscore.js"></script>
<script src="../lib/client/backbone.js"></script>
<script data-main="client/main" src="../lib/client/require.js"></script>
在这种情况下,我不需要在每个 js 文件上定义 jquery 或backbonejs。我可以单独模块化我自己的 js 文件,如下所示。
define([
'myFile1', 'myFile1'
], function (module1, module2) {
这种方法有什么缺点?这是正确的方法吗?我是否违反了任何 requirejs 规则?