2013-02-18 4 views
1

Я ищу какое-то решение для использования @import '* .js', как в менее css для проекта Symfony 2. Есть ли для этого плагин? Было бы неплохо контролировать файлы внутри файла, а не записывать «javascripts» в правильном порядке в twig.«импорт» зависимых решений для assetic

Если я не ясно:

сегодня мы должны контролировать порядок загрузки для обеспечения предварительного определения супер классов:

{% javascripts '@AcmeDemoBundle/Resources/public/js/app.base.js' 
       '@AcmeDemoBundle/Resources/public/js/app.inheritancelevel1.js' 
       '@AcmeDemoBundle/Resources/public/js/app.inheritancelevel2.js' 
       '@AcmeDemoBundle/Resources/public/js/app.inheritancelevel3.js' 
       '@AcmeDemoBundle/Resources/public/js/app.starter.js' 
%}... 

что я хочу:

{% javascripts '@AcmeDemoBundle/Resources/public/js/app.starter.js' %}... 

//.../app.starter.js 
@import 'app.baseclasses1.js' 
@import 'app.baseclasses2.js' 
@import 'app.baseclassesN.js' 
//.../app.baseclassesX.js 
@import 'app.superbaseclassesX.js' 
// an so on... 

Единственное решение Я знаю, что нужно обернуть определения в функции и сделать небольшую полезность:

loadUtil.register('some.package', function(){ 
loadUtil.import('some.base.package'); 
MyClass=new Class({extends: SuperClassFromSomeBasePackage...}); 
}); 
+0

nope, @import не является ключевым словом javascript. Вы можете искать AMD (requirejs), или обозревать, и т. Д. ... – mpm

ответ

0

Написать свои модули JavaScript в формате CommonJS и использовать cjsDeliveryBundle.

Скажите, что ваше клиентское приложение состоит из двух модулей, груши и пипса, где pip требует грушу. pip.js будет выглядеть следующим образом:

// pip.js 
exports.message = 'I am a pip.'; 

И pear.js будет выглядеть следующим образом:

// pear.js 
var pip = require('./pip'); // Assuming pip.js is in the same directory. Note that the .js extension is omitted in CommonJS. 

console.log('I am a pear, but also, ' + pip.message); 

Если вы указываете на pear.js, cjsDelivery будет автоматически разрешать зависимости и компилировать цельные модульное приложение в один файл JavaScript.

 Смежные вопросы

  • Нет связанных вопросов^_^