ฉันยังสับสนกับวิธีการแก้ไขเส้นทางโมดูลด้วย webpack ตอนนี้ฉันเขียน:
myfile = require('../../mydir/myfile.js')
แต่ฉันต้องการเขียน
myfile = require('mydir/myfile.js')
ฉันคิดว่าresolve.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' )
ทำงานได้ดี