Я настроил приложение Angular с помощью requireJS. Перед развертыванием я объединяю все в один уникальный файл. Обычно внешние библиотеки не имеют обёртки «define» для requireJS.
Например, библиотека Angular Parallax написана так:
# https://github.com/durated/angular-parallax/blob/master/angular-parallax.min.js
angular.module("duParallax",["duScroll","duParallax.directive"...
Вот мой main.js:
require.config({
baseUrl: '/angular-dev',
paths: {
angular: '//ajax.googleapis.com/ajax/libs/angularjs/1.2.13/angular.min',
angularScroll: 'bower_components/angular-scroll/angular-scroll.min',
angularParallax: 'bower_components/ng-parallax/angular-parallax.min'
},
shim: {
'angular': { exports: 'angular' },
'angularScroll': { deps: ['angular'] },
'angularParallax': { deps: ['angular'] }
}
});
Я использую grunt-contrib-requirejs для объединения всех библиотек (не CDN) в один уникальный файл. Вот что я получаю после сборки всего:
angular.module("duParallax",["duScroll","duParallax.directive"...
define("angularParallax", ["angular"], function(){});
Но я ожидаю, что код будет обернут внутри определения:
define("angularParallax", ["angular"], function(){
angular.module("duParallax",["duScroll","duParallax.directive"...
});
Как я могу получить последнюю версию, не меняя саму библиотеку?
Редактировать: Согласно этому другому вопросу о стеке, вот как это должно работать. Но я также использую grunt-contrib-requirejs для связывания своего кода, и это может быть проблемой.
Shim из библиотеки grunt-contrib-requirejs, не обертывающей библиотеку а>