1

イオン アプリをベータ 11 から rc0 に更新しました。つまり、angular2 rc4 から angular2 安定版に、typescript 1.8 から 2 に、rollupjs モジュール バンドラーを使用して切り替えたことを意味します。

このブログ投稿に従って AngularFire2 を構成しました: Getting Started with Ionic 2 RC0, Firebase 3 + AngularFire 2

コンパイルできず、次のエラーが発生します。

ロールアップ: ofeval (c:\XXX\node_modules\angularfire2\node_modules\firebase\firebase.js 内) の使用は、セキュリティ リスクをもたらし、縮小化の問題を引き起こす可能性があるため、強くお勧めしません。詳細については 、 https://github.com/rollup/rollup/wiki/Troubleshooting#avoiding-evalを参照 してください

何が起こっているのか、これに取り組む方法を知っている人はいますか?

4

3 に答える 3

2

長期的には、解決策は Firebase がevalコードから直接削除することです。ここでは実際には必要ないためです (JSON を解析するために使用されているだけです。JSON.parseはるかに高速であり、最近ではサポートは基本的に問題ではありません)。

それまでの間、可能性のある (ハックではありますが) 回避策は、 rollup-plugin-replaceevalを使用して、それを間接 に変換することです(違いを理解するには、トラブルシューティング ノートevalを参照してください) 。

// rollup.config.js
import nodeResolve from 'rollup-plugin-node-resolve';
import commonjs from 'rollup-plugin-commonjs';
import replace from 'rollup-plugin-replace';
// ...etc

export default {
  // ...other config...
  plugins: [
    nodeResolve({...}),
    commonjs({...}),
    replace({
      include: 'node_modules/firebase/firebase.js',
      values: {
        'eval(' : '[eval][0]('
      }
    })
  ]
};
于 2016-10-04T11:41:39.300 に答える