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');
}
