ฉันมีบางอย่างสำหรับการพัฒนา - เช่นล้อเลียนซึ่งฉันไม่ต้องการขยายไฟล์บิวด์แบบกระจายของฉันด้วย
ใน RequireJS คุณสามารถส่งการกำหนดค่าในไฟล์ปลั๊กอินและต้องการสิ่งต่างๆตามเงื่อนไขนั้น
สำหรับ webpack ดูเหมือนจะไม่มีวิธีการทำเช่นนี้ ประการแรกในการสร้างการกำหนดค่ารันไทม์สำหรับสภาพแวดล้อมฉันได้ใช้help.aliasเพื่อทำการกำหนดค่าใหม่ขึ้นอยู่กับสภาพแวดล้อมเช่น:
// All settings.
var all = {
fish: 'salmon'
};
// `envsettings` is an alias resolved at build time.
module.exports = Object.assign(all, require('envsettings'));
จากนั้นเมื่อสร้างการกำหนดค่า webpack ฉันสามารถกำหนดได้แบบไดนามิกว่าไฟล์ใดenvsettings
ชี้ไปที่ (เช่นwebpackConfig.resolve.alias.envsettings = './' + env
)
อย่างไรก็ตามฉันต้องการทำสิ่งต่อไปนี้:
if (settings.mock) {
// Short-circuit ajax calls.
// Require in all the mock modules.
}
แต่เห็นได้ชัดว่าฉันไม่ต้องการสร้างไฟล์จำลองเหล่านั้นหากสภาพแวดล้อมไม่ได้เยาะเย้ย
ฉันสามารถกำหนดสิ่งที่ต้องการทั้งหมดด้วยตนเองให้กับไฟล์ Stub ได้โดยใช้ resolution.alias อีกครั้ง - แต่มีวิธีที่ทำให้รู้สึกแฮ็คน้อยลงหรือไม่?
มีความคิดอย่างไรที่ฉันสามารถทำได้? ขอบคุณ.