I'm still confused how to resolve module paths with webpack. Now I write:
myfile = require('../../mydir/myfile.js')
but I'd like to write
myfile = require('mydir/myfile.js')
I was thinking that resolve.alias{ xyz: "/some/dir" }
エイリアスとして使用している同様の例を見ると、役立つかもしれませんrequire("xyz/file.js")
。
しかし、エイリアスを に設定すると{ mydir: '/absolute/path/mydir' }
、require('mydir/myfile.js')
機能しなくなります。
ドキュメントを何度も読んでいるのに、何かが抜けているような気がして、自分が愚かだと感じています。etc ですべての相対的な requires を記述しないようにする正しい方法は何ですか../../
?
ベストアンサー1
ウェブパック >2.0
見るwtkの答え。
ウェブパック 1.0
これを行うより簡単な方法は、resolve.root を使用することです。
http://webpack.github.io/docs/configuration.html#resolve-root
解決ルート
モジュールを含むディレクトリ (絶対パス)。ディレクトリの配列にすることもできます。この設定は、検索パスに個々のディレクトリを追加する場合に使用します。
あなたの場合:
webpack の設定
var path = require('path');
// ...
resolve: {
root: path.resolve('./mydir'),
extensions: ['', '.js']
}
消費モジュール
require('myfile')
または
require('myfile.js')
参照:http://webpack.github.io/docs/configuration.html#resolve-modules ディレクトリ