非同期モジュールのロードにRequireJSを使用するAngularJSで書かれた大きなクライアント側プロジェクトがあります。RequireJS - CDNを使用してスクリプト以外のファイルをロード
私のAngularディレクティブの多くは、独自のHTMLとCSSを使用しています。たとえば :私はCDNサービスで自分のアプリケーションを機能させるに取り組んでいます
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
}
};
});
});
このごろ。 だから、すべてのJavaScriptファイルのために私はにrequire.config.js
ファイルを変更しました:
paths: {
app: [
'//cdn.domain.net/path/to/main',
'main'
],
}
しかし、私のアプリケーションのスタートアップページにロードされているディレクティブがたくさんあり、それらの各々のための2つのファイルが(ありますCSS、HTML)が含まれていますが、CDNからではありません。
require.config.js
ファイルをどのように変更して、ブラウザがHTMLを取得できるようにすることができますか?cssはCDNサーバーから取得しますか?ブラウザがCDNからそれをフェッチし、明示的require.config.js
に記載されていないが、CDNの障害の場合には、私のオリジンサーバにフォールバックします -
はオプションがrequir'edされていますごとファイルことありますか?
私はRequireJSオプティマイザを使用してすべてのファイルをバンドルしますが、それはcssとhtmlのテンプレートを取ってバンドルされたファイルに挿入しません。 これらのファイルをフェッチするためのXHRコールを保存するにはどうすればよいですか? – johni
@ johni私が知る限り、バンドルを使用していても設定ファイルを使用する必要があります。私が正しく覚えていれば、私はそれらのマッピングを持っている生産用の開発で同じ設定ファイルを使用しました。 RequireJSをロードし、次にconfigをロードし、次にバンドルをロードします。 – Joseph
私の場合もそうです。同じ設定ファイルを使用します。しかし、私はrequirejsがあらかじめ設定されたcdnから相対パスファイルをフェッチする方法を見ていません。 100 +のディレクティブにIDを付けて、設定ファイルに追加することはできません。 別の方法があります – johni