У меня есть большой клиентский проект, написанный в AngularJS, который использует требование для загрузки асинхронного модуля RequireJS.RequireJS - загрузка файлов без скрипта с использованием CDN
Многие из моих угловых директив используют свои собственные HTML и CSS. Например:
define(function (require) {
require('css!path/to/directive-name.css');
app.directive('directive-name', function() {
return {
restrict: 'E',
template: require('text!path/to/directive-name.html'),
controller: function ($scope) {
// code
}
};
});
});
В эти дни я работаю над делает мою работу приложений с сервисом CDN. Так что для всех файлов JavaScript Я изменил файл require.config.js
на:
paths: {
app: [
'//cdn.domain.net/path/to/main',
'main'
],
}
Но есть много указаний, которые загружаются на странице запуска моего приложения, и для каждого из них есть два файла (CSS, HTML), которые загружаются с моего исходного сервера, а не из CDN.
Каким образом я могу изменить файл require.config.js
, чтобы заставить браузер извлекать htmls, css с сервера CDN?
Есть вариант, что для каждый файл, который будучи requir'ed - браузер будет получать его из CDN и Откат к моему происхождению сервера в случае выхода из строя CDN хотя прямо не упоминается в require.config.js
?
Я собираю все файлы с помощью оптимизатора RequireJS, но это не принимает шаблоны css и html и вставляет их в связанный файл. Что я могу сделать, чтобы сохранить эти вызовы XHR для извлечения этих файлов? – johni
@johni Насколько я знаю, вам все равно придется использовать конфигурационный файл даже при использовании пакета. Если я правильно помню, я использовал тот же конфигурационный файл в разработке для производства, который имеет эти сопоставления. Load RequireJS, затем конфигурацию, затем пакет. – Joseph
Это также верно для моего случая, я использую тот же конфигурационный файл. Тем не менее я не вижу, как я могу сделать requirejs извлечения относительных путей-файлов из предварительно сконфигурированного cdn. Я не могу назвать ID до 100+ директив и добавить их в файл конфигурации, это безумие. Я надеялся, что есть другой способ – johni