2014-06-07 9 views
8

Sto tentando di eseguire il pre-rendering del sito AngularJS utilizzando PhantomJS. (Con phantomjs-runner.js da http://www.yearofmoo.com/2012/11/angularjs-and-seo.html) Non riesco a caricare la pagina attraverso PhantomJS come si verifica l'errore qui sotto. Questo errore non si verifica in IE/Chrome/Firefox."Impossibile istanziare il modulo ngSanitize" durante il pre-rendering del sito AngualrJS con PhantomJS

Come risolvere il problema?

Errore:

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 

modulo di configurazione

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); 

risposta

14

Sembra che si potrebbe mancare un riferimento al codice ngSanitize. ngSanitize fa parte del framework AngularJS (https://docs.angularjs.org/api/ngSanitize), tuttavia è necessario includere un riferimento separato prima del riferimento PhantomJS per utilizzarlo.

Sembra si utilizza la versione 1.2.1 di AngularJS, così si potrebbe facilmente solo aggiungere uno di questi tag

non minified (o afferrare il codice da includere nella propria app.):

<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.2.1/angular-sanitize.js"></script> 

minified:

<script src="http://ajax.googleapis.com/ajax/libs/angularjs/1.2.1/angular-sanitize.min.js"></script> 
Problemi correlati