Weboldal keresés

javascript - Feltételesen require fájl a webpack-ben


A fájlokat csak akkor szeretném a gyártási buildbe csomagolni, ha az nem DEBUG-hoz készül;

Tehát használtam a webpack.DefinePlugin-t, és beállítottam a DEBUG === true változót.

Állítsd be a webpack.UglifyJsPlugin konfigurációját az alapértelmezett beállításokkal

És a js fájlban így csinálom:

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

Ellenőriztem a végső csomagfájlt, az A null értékre lett cserélve (tehát a DefinePlugin rendben működik), de a some-debug.js fájl tartalma még mindig benne van a csomagolt js-ben.

Lehetséges engedni, hogy a webpack ne igényelje a fájlt?

ps: Azt hiszem, használhatom a resolve.alias-t a './some-debug.js' --> undefined feloldására. De szeretném, ha a webpack.config.js általános maradna, nem akarok túl sok resolve.alias bejegyzést alkalmazni.

Köszönöm

Válasz #1

Nem működik a ternáris operátorral.

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