javascript - Betinget kræve fil i webpack


Jeg vil samle filerne i min produktionsbygning kun, hvis det ikke er til DEBUG;

Så jeg har brugt webpack.DefinePlugin og sat variablen DEBUG === true.

Konfigurer også webpack.UglifyJsPlugin med standardindstillinger

Og i js-filen gør jeg sådan her:

const A = DEBUG === true ? null : require('./some-debug.js');
//do things with A, for example
console.log(A)

Jeg tjekkede den endelige bundle-fil, A er erstattet med null (så DefinePlugin fungerer fint), men indholdet af some-debug.js-filen er stadig i bundle-js'en.

Er det muligt at få webpack til ikke at kræve filen?

ps: Jeg tror, jeg kan bruge resolve.alias til at løse './some-debug.js' --> undefined. Men jeg vil gerne holde min webpack.config.js generisk, jeg vil ikke anvende for mange resolve.alias entries.

Tak

Svar #1

Det virker ikke med ternær operator.

let A;  
if (DEBUG === true) {
  A = require('./some-debug.js');
}