javascript - Betinget require-fil i webpack


Jeg vil pakke filene inn i produksjonsbygget mitt bare hvis det ikke er for DEBUG;

Så jeg har brukt webpack.DefinePlugin og satt variabelen DEBUG === true.

Konfigurer også webpack.UglifyJsPlugin med standardinnstillinger

Og i js-filen gjør jeg det på denne måten:

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

Jeg sjekket den endelige pakke-filen, A er erstattet med null (så DefinePlugin fungerer som det skal), men innholdet i some-debug.js-filen er fortsatt i bundle js.

Er det mulig å la webpack ikke kreve filen?

ps: Jeg tror jeg kan bruke resolve.alias for å løse './some-debug.js' --> undefined. Men jeg vil holde min webpack.config.js generell, vil ikke bruke for mange resolve.alias-oppføringer.

Takk

Svar #1

Det fungerer ikke med ternæroperatoren.

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