2017-06-15 4 views
1

私はGrunt to Webpackを使用してカスタムビルダーからプロジェクトを移行していますが、外部ライブラリをインポートする際に問題があります。

私はインポートする必要があり、このライブラリは、私はこのように私のProvidePluginを設定したが、それは動作していない角度-HU-キャッシュの名前と(https://github.com/angular-hu/bower-caches/blob/master/caches.js#L414

存在する$ window.LRUCacheを必要としている。

plugins: [ 
    new webpack.ProvidePlugin({ 
     'UNIAPI.Types': 'uniapi-types', 
     'window.UAParser': 'ua-parser', 
     'window.LRUCache': 'serialized-lru-cache', 
     'LRUCache': 'serialized-lru-cache' 
    }) 
], 

エイリアスは、このように構成されています

resolve: { 
    alias: { 
    // ... 
    'serialized-lru-cache': 'serialized-lru-cache/lib/lru-cache.js' 
    } 
} 

私は問題は$ウィンドウの代わりに、ウィンドウを使用していると思います。私に何ができる?

plugins: [ 
    new webpack.DefinePlugin({ 
    'UNIAPI.Types': 'uniapi-types', 
    UAParser: 'ua-parser', 
    LRUCache: 'serialized-lru-cache' 
    }) 
], 

よろしく、

セルジオ:

答えて

1

あなたはDefinePlugin、このような何かを試してみてください。

+0

いいですねSerginator – Kalamarico

1

@serginatorソリューションを試しましたが、インポートされたライブラリが$ window.LRUCacheを使用してwindow.LRUCacheの代わりにLRUCacheを参照していたため、正常に動作しませんでした。

は、私は最終的に公開・ローダー

// I require LRUCache once before loading the lib. 
require("expose-loader?LRUCache!serialized-lru-cache"); 

// I use an alias in webpack.config.js 
'serialized-lru-cache': 'serialized-lru-cache/lib/lru-cache.js', 

このコードは、ウィンドウ内のグローバルオブジェクトとしてLRUCacheを公開して問題を解決して使用してこの問題を解決してきました。

+1

Good Adri !!良い! XD – Kalamarico

関連する問題