Я все еще не понимаю, как разрешить пути модулей с помощью веб-пакета. Теперь я пишу:
myfile = require('../../mydir/myfile.js')
но я хотел бы написать
myfile = require('mydir/myfile.js')
Я думал, что resol.alias может помочь, так как я вижу похожий пример, использующий в { xyz: "/some/dir" }
качестве псевдонима, тогда я могу require("xyz/file.js")
.
Но если я установлю свой псевдоним { mydir: '/absolute/path/mydir' }
, require('mydir/myfile.js')
не будет работать.
Я чувствую себя глупо, потому что много раз читал документ и чувствую, что что-то упустил. Как правильно избегать записи всех относительных требований с помощью ../../
etc?
resolve.alias
работает именно так, как вы предложили. Интересно, не получилось ли это из-за чего-то еще в вашейresolve
конфигурации. Я пользуюсьalias{ mydir: path.resolve( __dirname, 'path', 'to', 'mydir' )
иrequire( 'mydir/myfile.js' )
работает просто отлично.