2016-03-25 13 views
0

愚かな質問かもしれませんが...私はWebpack(Ubuntu上で)を使ってアプリケーションを構築しており、別のものからJSファイルを要求しようとしています。しかしWebpack require() 'file'または 'directory'を解決できません

require('vendor/facebook.js'); 

:私のアプリは、このようなものになります。

myapp/ 
    src/ 
    vendor/ 
     facebook.js 
    components/ 
     layout/ 
     header/ 
      FacebookButtonComponent.js 

をそして、私のWebPACKの構成はそれで次のようにあります。

const path = require('path'); 
const srcPath = path.join(__dirname, '/src'); 
resolve: { 
    extensions: [ 
    '', 
    '.js', 
    '.jsx' 
    ], 
    alias: { 
    components: `${ srcPath }/components`, 
    vendor: `${ srcPath }/vendor` 
    } 
} 

次にFacebookComponent.jsに私はfacebook.jsを必要としていて次のエラーが表示されます。

ERROR in ./src/components/layout/header/FacebookButtonComponent.js Module not found: Error: Cannot resolve 'file' or 'directory' /myapp/src/vendor/facebook.js in /myapp/src/components/layout/header

おそらく私はこれについて間違った方法をとっていますが、正しい経路を構築しているようです。 これが正しくない場合、パスをどのようにフォーマットする必要がありますか?

ERROR in ./src/components/layout/header/FacebookButtonComponent.js Module not found: Error: Cannot resolve 'file' or 'directory' ./vendor/facebook.js in myapp/src/components/layout/header

そして../秒効果がないように見えるの相対パスを構築する:

は、私はまた与える./を試してみた

ERROR in ./src/components/layout/header/FacebookButtonComponent.js Module not found: Error: Cannot resolve 'file' or 'directory' ../vendor/facebook.js in myapp/src/components/layout/header

This questionは多少関連するが、どれもそうです(例えば、rootを設定してください)

+0

あなたは、ベンダーの内部空package.jsonファイルを追加しようとすることができますディレクトリ:P –

+0

これに関するアップデート?私は現在、同様の問題を抱えています。 webpackは、プロジェクトのルートではなく 'require'を呼び出すファイルの場所からファイルを解決しようとしているようです。 – Andre

+0

私が正しく覚えていれば、タイプミスやクラスミスマッチがあったと思います。 –

答えて

1

defi NE resolve.modulesDirectories代わりのalias

resolve: { 
    extensions: [ 
    '', 
    '.js', 
    '.jsx' 
    ], 
    modulesDirectories: [ 
    "node_modules", 
    "src" 
    ] 
} 

そしてそれが今のようにファイルを必要:あなたのファイルツリーで

require('vendor/facebook.js'); 
+0

効果はありませんが、エラーはまったく同じです。 –

+0

完全な出力にエラーメッセージを表示できますか? –

+0

上記のエラー出力は完全なエラー出力です。 –

0

あなたは

FacebookComponent.js

を持って、あなたのエラーが

FacebookButtonComponent.js

を語ります
+0

私の間違いは、実際には 'FacebookButtonComponent'です。上記のファイル構造を更新しました。エラーは依然として同じです。 –

0

ちょうどエラーを読んで私はrequire('../../../vendor/facebook.js')が動作するはずだと思う。


require('vendor/facebook.js');

ERROR in ./src/components/layout/header/FacebookButtonComponent.js Module not found: Error: Cannot resolve 'file' or 'directory' /myapp/src/vendor/facebook.js in /myapp/src/components/layout/header Maybe I'm going about

=>は/myapp/src/components/layout/header/myapp/src/vendor/facebook.js


require('./vendor/facebook.js');

を解決しようとします

ERROR in ./src/components/layout/header/FacebookButtonComponent.js Module not found: Error: Cannot resolve 'file' or 'directory' ./vendor/facebook.js in myapp/src/components/layout/header

=>/myapp/src/components/layout/header/vendor/facebookを解決しようとしています。JS


require('../vendor/facebook.js');

ERROR in ./src/components/layout/header/FacebookButtonComponent.js Module not found: Error: Cannot resolve 'file' or 'directory' ../vendor/facebook.js in myapp/src/components/layout/header

=> myappに/ srcに/コンポーネント/レイアウト/ベンダー/ facebbok.jsを解決しようと

関連する問題