我是backbone.js
的新手。所以我需要回答以下问题才能理解使用它的结构..
我的理解是,一旦加载了基本模板,我们就需要使用views / js文件来获取其他的html ..
1.但是一旦我使用require从main.js文件加载jquery,为什么我需要再次在视图中定义它... 2.如果在我的视图js文件中,如果我需要包含一个新的js文件,那么是否正在向服务器发出请求?
例如:
define([
'jquery',
'underscore',
'backbone',
'text!templates/list1.html',
], function( $, _, Backbone, index, Constants ) {
....
....
});
以下是我的代码结构
js
|-- collections
| |-- camp.js
|
|-- constants.js
|-- data.json
|-- main.js
|-- models
| |-- camp.js
|-- routers
| `-- router.js
|-- templates
| |-- camp.html
|-- vendor
| |-- backbone
| | |-- backbone.js
| | `-- backbone.localStorage.js
| |-- bootstrap.js
| |-- bootstrap.min.js
| |-- codemirror
| | |-- addon
| | | |-- closebrackets.js
| | | |-- dialog.js
| | | |-- matchbrackets.js
| | | |-- match-highlighter.js
| | | |-- searchcursor.js
| | | `-- search.js
| | |-- codemirror.css
| | |-- codemirror.js
| | |-- hint
| | | |-- javascript-hint.js
| | | |-- show-hint.css
| | | `-- show-hint.js
| | |-- mode
| | | `-- javascript.js
| | `-- themes
| | `-- solarized.css
| |-- jquery
| | `-- jquery.min.js
| |-- jquery-1.9.1.min.js
| |-- jquery-ui-1.10.0.custom.min.js
| |-- jquery-ui-1.10.1.custom.css
| |-- jqueryuicustom.min.js
| |-- modernizr-2.6.2-respond-1.1.0.min.js
| |-- require
| | |-- require.js
| | |-- require.min.js
| | `-- text.js
| |-- require.js
| `-- underscore
| `-- lodash.min.js
`-- views
|-- camp.js
答案 0 :(得分:0)
RequireJS旨在保持全局范围的清洁。您正在定义具有显式依赖关系的模块。您需要将jQuery,Backbone等定义为您编写的每个模块的依赖项。 RequireJS会自动确定需要获取的顺序。
是的,会有往返,但它由RequireJS管理,它将在执行模块(视图)的代码之前发生。如果您担心提取的文件数量,请查看文档[1]。