2012-07-01 12 views
20

En mi archivo application.js, que tengo:Los rieles especifican el orden de carga de los archivos javascript?

//= require jquery 
//= require jquery_ujs 
//= require underscore 
//= require backbone 
//= require_tree . 
// 
//= require .//community_app 
// 
//= require_tree ../templates/ 
//= require_tree .//models 
//= require_tree .//collections 
//= require_tree .//views 
//= require_tree .//routers 

pero el html generado no obedece esta orden:

<head> 
    <title>CommunityApp</title> 
    <link href="/assets/application.css?body=1" media="all" rel="stylesheet" type="text/css" /> 
<link href="/assets/communities.css?body=1" media="all" rel="stylesheet" type="text/css" /> 
<link href="/assets/home.css?body=1" media="all" rel="stylesheet" type="text/css" /> 
    <script src="/assets/jquery.js?body=1" type="text/javascript"></script> 
<script src="/assets/jquery_ujs.js?body=1" type="text/javascript"></script> 
<script src="/assets/underscore.js?body=1" type="text/javascript"></script> 
<script src="/assets/backbone.js?body=1" type="text/javascript"></script> 
<script src="/assets/collections/communities.js?body=1" type="text/javascript"></script> 
<script src="/assets/community_app.js?body=1" type="text/javascript"></script> 
<script src="/assets/home.js?body=1" type="text/javascript"></script> 
<script src="/assets/models/community.js?body=1" type="text/javascript"></script> 
<script src="/assets/application.js?body=1" type="text/javascript"></script> 
    <meta content="authenticity_token" name="csrf-param" /> 
<meta content="ktrLMDYSJaU/mmgmzfpxDfMin7OCXga4K5gVIJZHJUI=" name="csrf-token" /> 
</head> 
<body> 

Colecciones se carga antes de que el modelo de lo que me da error en la parte delantera -fin. ¿Cómo puedo hacerlo para que cargue de manera específica los archivos js? gracias

Respuesta

32

todavía tienes un

//= require_tree . 

Más arriba, que está cargando todo, al parecer, en orden alfabético. Quítelo (obviamente asegurándose de que todo se requiera en otro lugar) y debería estar bien. Es posible que pueda hacer que sea la última línea de su application.js, pero no recuerdo el comportamiento especificado cuando dos declaraciones terminan requiriendo el mismo archivo

+2

Gracias por la entrada. ¿Hay alguna manera de hacer que require_tree no cargue en orden alfabético? ¿Cuál es la forma correcta de hacer esto? – 0xSina

+1

@ 0xSina: la forma correcta de especificar un orden específico es, bueno, especificar el orden a mano como si estuvieras (casi) haciendo. –

+1

Quitaría el 'require_tree .' y requeriría cosas en el orden deseado (posiblemente usando require_tree en las subcarpetas) –

Cuestiones relacionadas