2016-07-21 27 views
0

foo.joinとfoo.resolveの違いは? WebPACKの

...私はレールの背景にルビーから来て、私は私が正しく、次のコードを理解してるかどうかを知りたい現在、私のwebpack.config.jsは...以下のようになります

var path = require('path'); 

module.exports = { 
    context: path.join(__dirname, 'src'), 
    entry: [ 
    './app.js' 
    ], 
    ... etc 

私は

... (omitted code) 

    context: path.resolve(__dirname, '../src'), 

... etc 

は、ディレクトリ内のファイルのためのresolve表情をして、それが存在しない場合は私のために作成しなかった場合の違いは何でしょうか?のような並べ替えif definedruby

ありがとうと申し訳ありません。

答えて

1

path.joinは、基本的にはホストオペレーティングシステムの正しいディレクトリ区切り文字(通常は/または\)を使用した単なる文字列連結です。 path.resolveは同じものをとしますが、システムのルートディレクトリから絶対パスを探し出します。あなたのケースで

__dirname

がすでに絶対パスであるため、結果のパスはそうpath.join有する単純な連結は、絶対パスを保証path.resolveと同じ結果を生成し、同じになります。

どちらの方法も存在しないディレクトリやファイルを作成することはありません。実際に何かに到達できるかどうかにかかわらず、パス文字列を指定します。

編集:path.joinpath.resolveは特にdocs NodeJS pathモジュールの方法であることに注意してください - 彼らは明確化のため

+0

おかげで、一般的なJavascriptの方法ではありません。私は別の質問があります。今は私が持っています '' ' エントリ:[ './main.js'、 ]' '' – intercoder

+0

残念ですが、これはエラーです。 '' 'ERROR ./src/main.js モジュールビルドに失敗しました:SyntaxError:/Users/DS/Code/tryouts/react-project-setup/.babelrc:JSONの解析中にエラーが発生しました - '[' '' ' – intercoder

+0

あなたの '.babelrc'が正しくフォーマットされていないように見えます。 '.babelrc'の内容をコピーしてhttp://jsonlint.com/に貼り付けて、より詳細な情報を得ることができます。 JSONは '{}'や '[]'を閉じる前にコンマをつけることはできませんので、注意してください。 –

関連する問題