PhantomJSを使用してAngularJSサイトを事前レンダリングしようとしています。 ( http://www.yearofmoo.com/2012/11/angularjs-and-seo.html のphantomjs-runner.jsを使用)エラーとしてPhantomJSを介してページを読み込めません以下が発生します。このエラーはIE/Chrome/Firefoxでは発生しません。
このエラーを修正するにはどうすればよいですか?
エラー:
Error: [$injector:modulerr] Failed to instantiate module SpaceForAfrica due to:
Error: [$injector:modulerr] Failed to instantiate module dialogs due to:
Error: [$injector:modulerr] Failed to instantiate module ngSanitize due to:
Error: [$injector:nomod] Module 'ngSanitize' is not available! You either misspelled the module name or forgot to load it. If registering a
module ensure that you specify the dependencies as the second argument.
http://errors.angularjs.org/1.2.1/$injector/nomod?p0=ngSanitize
at http://ajax.googleapis.com/ajax/libs/angularjs/1.2.1/angular.js:1507
at ensure (http://ajax.googleapis.com/ajax/libs/angularjs/1.2.1/angular.js:1435)
at module (http://ajax.googleapis.com/ajax/libs/angularjs/1.2.1/angular.js:1717)
at http://ajax.googleapis.com/ajax/libs/angularjs/1.2.1/angular.js:3527
モジュール構成
var SpaceForAfrica = angular.module('SpaceForAfrica', ['ngRoute', 'HashBangURLs', 'ui.bootstrap', 'ui.bootstrap.tpls', 'google-maps', 'ui.growl', 'dialogs', 'ngSanitize', 'angularSpinner','angulartics', 'angulartics.google.analytics']).config(spaceForAfricaConfig);
NgSanitizeコードへの参照が欠落している可能性があります。 ngSanitizeはAngularJSフレームワークの一部です( https://docs.angularjs.org/api/ngSanitize )、ただし、前に別の参照を含める必要がありますPhantomJSリファレンスを利用するために。
AngularJSのバージョン1.2.1を使用しているようですので、これらのタグの1つを簡単に追加できます(またはコードを取得して独自のアプリに含めることができます)。
縮小されていない:
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.2.1/angular-sanitize.js"></script>
縮小:
<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.2.1/angular-sanitize.min.js"></script>