2017-05-15 2 views
0

ノード、エクスプレスサーバー、およびaureliajsでアプリケーションを実行しています。あらかじめレンダリングしてSEOを有効にしたいそこで、prerender.ioとprerender-nodeをインストールしました。Aurelia PhantomJsターゲットが定義されていません

しかし、事前レンダリングでページをレンダリングしようとしているときに、phantomjsは、エラーTypeError例外を与える:未定義のオブジェクトではありません( 'ターゲット.__ useDefault' を評価)

とコードは次のとおりです。

ベンダーで
function ensureOriginOnExports(executed, name) { 
    var target = executed; 
    var key = void 0; 
    var exportedValue = void 0; 

    if (target.__useDefault) { 
     target = target['default']; 
    } 
. 
. 
. 

DefaultLoader.prototype.loadModule = function (id) { 
     var _this2 = this; 

     var existing = this.moduleRegistry[id]; 
     if (existing !== undefined) { 
     return Promise.resolve(existing); 
     } 

     return new Promise(function (resolve, reject) { 
     require([id], function (m) { 
      _this2.moduleRegistry[id] = m; 
      resolve(ensureOriginOnExports(m, id)); 
     }, reject); 
     }); 
    }; 
:2つの場所で最初のものを使用

ensureOriginOnExportsをbundle.js

第二1:

DefaultLoader.prototype.loadModule = function (id) { 
     var _this3 = this; 

     return System.normalize(id).then(function (newId) { 
     var existing = _this3.moduleRegistry[newId]; 
     if (existing !== undefined) { 
      return Promise.resolve(existing); 
     } 

     return System.import(newId).then(function (m) { 
      _this3.moduleRegistry[newId] = m; 
      return ensureOriginOnExports(m, newId); 
     }); 
     }); 
    }; 
+0

'ensureOriginOnExports()'を呼んでいるものは、正しいプロパティを 'executed' varに渡していません。あなたはそれを追跡できますか? – Tom

+0

GitHubのこの問題はあなたにとって役に立ちます。 https://github.com/miguelzakharia/aurelia-google-analytics/issues/10 – Tom

+0

問題の原因は、aureliaのモジュールを読み込むSystemjsのようです。しかし、私はどのようにSystemureをaureliaのための別のモジュールローダーに変更するか考えていません。 –

答えて

0

だから、私の問題へのsolitionは、まず私は、私は/src/intl.js下intl.jsポリフィルを作成、追加する必要がありました青い鳥ポリフィルを使用し、でした。

私もbabel-polyfillをロードしなければなりませんでした。

ファントムjsがi18nサポートのためにそのファイルを検索するように見えます。

関連する問題