2017-01-26 15 views
0

私はbabel-loaderでwebpackを使用するスタックにswagger生成のapiを使用しています。 webpackはファイルをAMDモジュールとしてロードしようとしますが失敗します。AMDモジュールの読み込みを無効にする

ERROR in D:/project/src/javascripts/api/location/model/Location.js 
Module not found: Error: Cannot resolve module 'ApiClient' in D:\project\src\javascripts\api\location\model 
@ D:/project/src/javascripts/api/location/model/Location.js 22:4-34 

私は(下記)闊歩ファイルにAMD-部分を削除すると、それは動作します:

if (typeof define === 'function' && define.amd) { 
// AMD. Register as an anonymous module. 
define(['superagent'], factory); 
} 

私はWebPACKのローダー「輸入」は、このような問題を解決するために偽のパラメータdefine->をサポートしていることを知っています。しかし、私はbable-loaderの解決策を見つけることができませんでした。 誰も解決策を提案できますか?

+0

以下のヘルプがありますか? https://github.com/swagger-api/swagger-codegen/issues/3336#issuecomment-232126946 –

+0

が動作しません:( マルチグローバルでエラー モジュールが見つかりません:エラー:モジュール 'babelを解決できません。 D:\ ... \ src \ javascriptsにある「インポート」 @ multi global – Michael

答えて

1

私の場合は、webpack configに別のルールを追加しました。私は奇妙に生成されたクライアントを別のパッケージとしてインポートするので、import-loaderはnode_modulesを実行するだけでした。

以下のコードはwebpack 2構文を使用しています。以前のバージョンのwebpackを使用している場合は、それを調整する必要があります。

module: { 
    rules: [ 
    { 
     test: /\.js$/, 
     use: 'babel-loader', 
     exclude: /node_modules/, 
    }, 
    { 
     test: /\.js$/, 
     use: 'imports-loader?define=>false', 
     include: /node_modules/, 
    }, 
    ], 
} 

私はあなたの状況が何であるかわからないんだけど、あなたは似た何かをする必要がある場合があります。 swaggerによって生成されたコードは、babelを実行する必要はありません。

関連する問題