Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/401.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript backbone.js为什么需要在所有js文件中加载脚本_Javascript_Jquery_Backbone.js_Underscore.js - Fatal编程技术网

Javascript backbone.js为什么需要在所有js文件中加载脚本

Javascript backbone.js为什么需要在所有js文件中加载脚本,javascript,jquery,backbone.js,underscore.js,Javascript,Jquery,Backbone.js,Underscore.js,我不熟悉backbone.js。因此,我需要回答以下问题来理解使用它的结构 我的理解是,一旦加载了基本模板,我们只需要使用views/js文件来获取其他html 1.但是,一旦我使用require从main.js文件加载jquery,为什么还要在视图中再次定义它。。 2.另外,如果在我的视图js文件中,如果我需要包含一个新的js文件,那么这就是向服务器发出请求,对吗 例如: define([ 'jquery', 'underscore', 'backbone'

我不熟悉
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
  • RequireJS旨在保持全局范围的整洁。您正在定义具有显式依赖关系的模块。您需要将jQuery、主干网等定义为您编写的每个模块的依赖项。RequireJS将自动确定它们需要以何种顺序获取

  • 是的,会有一个往返过程,但它是由RequireJS管理的,并且会在执行模块(视图)的代码之前发生。如果您担心获取的文件数量,请查看文档[1]


  • [1]

    另外,如果我在模板中定义了any onchange或onclick事件,那么我应该在哪个js文件中定义事件类型,我只会将HTML放入模板中,并将所有处理程序放入呈现它的视图中。您可以在以下位置阅读:但是为什么我们要在main.js和所有其他js文件中再次定义它呢..对于ex:jquery