2016-12-06 4 views
1

私は反応プロジェクトでwebpackを使用します。Webpackチェックファイルが存在し、状態でインポート

'foo/myfile'のチェックファイルがあり、そのファイルがコンポーネントにインポートされている場合、または 'bar/myfile'から読み込みたい場合。例えば :

let myModule; 
if(webpackCheckFileExist('foo/myfile.jsx')){ 
    myModule = require('foo/myfile.jsx'); 
} else { 
    myModule = require('bar/myfile.jsx'); 
} 

私は試してみてください。

if(__webpack_modules__[require.resolveWeak("foo/myfile.jsx")]) { 
    // do something when mod1 is available 
} 

が、ファイルが存在しdosnt場合 - 私は、これはあなたを助ける必要がありWebPACKのエラー

答えて

1

をキャッチ。それはノードのfsパッケージを使用するだけです。

var fs = require('fs'); 

if (fs.existsSync(path)) { 
    // Do something 
} 

// Or 

fs.exists(path, function(exists) { 
    if (exists) { 
     // Do something 
    } 
}); 
+0

回答ありがとうございました。 私はバックエンドからノードを使用しません。私は生産のためにbundle.jsをビルドする必要があります。 使用コードの前にチェックファイルが必要です – nDiviD

+1

@nDiviDバックエンドで必ずしもノードを使用する必要はありません。しかし、あなたのwebpackはノード上で動作します。ウェブパッケージに 'path'パッケージを使っているかもしれません。私は 'fs'も使うことができると思います!私が間違っているなら私を訂正してください。 – Mihir

+0

はい、あなたは正しいです、webpackはノード上で動作しますが、webpackはその部分を無視してbundle.jsに入れます。コンパイルが完了したら、ファイルを検出しようとします。 私はbundle.jsで2つのファイルのうち1つだけを使用します。 – nDiviD

関連する問題