javascript - Requerer ficheiro condicionalmente no webpack
Quero agrupar os ficheiros na minha compilação de produção apenas se não for para DEBUG;
Então eu usei webpack.DefinePlugin e defini a variável DEBUG === true.
Também configure webpack.UglifyJsPlugin com as opções predefinidas
E no ficheiro js, eu faço assim:
const A = DEBUG === true ? null : require('./some-debug.js');
//do things with A, for example
console.log(A)
Verifiquei o ficheiro final do bundle, A foi substituído por null (portanto, o DefinePlugin está a funcionar bem), mas o conteúdo do ficheiro some-debug.js ainda está no bundle js.
É possível fazer com que o webpack não exija o ficheiro?
ps: Acho que consigo usar resolve.alias para resolver './some-debug.js' --> undefined. Mas quero manter o meu webpack.config.js genérico, não quero aplicar muitas entradas de resolve.alias.
Obrigado
Resposta #1
Não funciona com o operador ternário.
let A;
if (DEBUG === true) {
A = require('./some-debug.js');
}
