Aqui está o meu webpack.config.js
var webpack = require("webpack");
module.exports = {
entry: "./entry.js",
devtool: "source-map",
output: {
path: "./dist",
filename: "bundle.min.js"
},
plugins: [
new webpack.optimize.UglifyJsPlugin({minimize: true})
]
};
Estou construindo com
$ webpack
Na minha dist
pasta, só estou recebendo
bundle.min.js
bundle.min.js.map
Eu também gostaria de ver os descomprimidos bundle.js
javascript
node.js
webpack
Obrigado
fonte
fonte
Error: webpack.optimize.UglifyJsPlugin has been removed, please use config.optimization.minimize instead.
Você pode usar um único arquivo de configuração e incluir o plug-in UglifyJS condicionalmente usando uma variável de ambiente:
e, em seguida, basta definir essa variável quando desejar reduzi-la:
Editar:
Conforme mencionado nos comentários,
NODE_ENV
geralmente é usado (por convenção) para indicar se um ambiente específico é um ambiente de produção ou desenvolvimento. Para verificar, você também pode definirvar PROD = (process.env.NODE_ENV === 'production')
e continuar normalmente.fonte
compress
vez deminimize
?webpack -p
as configurações de webpack.optimize.UglifyJsPlugin na sua configuração do webpack serão (pelo menos parcialmente) ignoradas (pelo menos a configuraçãomangle: false
é ignorada).webpack && webpack -p
,.definePlugin
estiver lendo isso, sugiro o uso , que acho que está instalado por padrão no Webpack.Você pode executar o webpack duas vezes com argumentos diferentes:
verifique os argumentos da linha de comando em
webpack.config.js
:exemplo webpack.config.js
fonte
Para adicionar outra resposta, o sinalizador
-p
(abreviação de--optimize-minimize
) habilitará o UglifyJS com argumentos padrão.Você não obterá um pacote compactado e minificado de uma única execução nem gerará pacotes nomeados de forma diferente, para que o
-p
sinalizador não atenda ao seu caso de uso.Por outro lado, a
-d
opção é abreviação de--debug
--devtool sourcemap
--output-pathinfo
Meus webpack.config.js omite
devtool
,debug
,pathinfo
, eo minmize plugins a favor destas duas bandeiras.fonte
Talvez eu esteja atrasado aqui, mas tenho o mesmo problema, então escrevi um plug-in-webpack-unminified para esse fim.
Instalação
Uso
Fazendo o acima, você obterá dois arquivos library.min.js e library.js. Não há necessidade de executar o webpack duas vezes, ele simplesmente funciona! ^^
fonte
Na minha opinião, é muito mais fácil usar a ferramenta UglifyJS diretamente:
npm install --save-dev uglify-js
./dst/bundle.js
arquivo.Adicione um
build
comando ao seupackage.json
:npm run build
comandoNão é necessário instalar o uglify-js globalmente, basta instalá-lo localmente para o projeto.
fonte
Você pode criar duas configurações para o webpack, uma que reduz o código e outra que não o faz (basta remover a linha optimize.UglifyJSPlugin) e executar as duas configurações ao mesmo tempo
$ webpack && webpack --config webpack.config.min.js
fonte
De acordo com esta linha: https://github.com/pingyuanChen/webpack-uglify-js-plugin/blob/master/index.js#L117
deve ser algo como:
De fato, você pode ter várias compilações exportando diferentes configurações de acordo com suas estratégias env / argv.
fonte
minimize
nos documentos. Talvez seja preterido?trabalha para mim, com
-p
bandeira.fonte
Você pode formatar seu webpack.config.js assim:
E, em seguida, para compilá-lo, execute uma execução não minuciosa (enquanto estiver no diretório principal do projeto):
Para compilá-lo, execute minified:
Notas: Certifique-se de que, para a versão não minificada, altere o nome do arquivo de saída para
library.js
e para o minificado,library.min.js
para que não se substituam.fonte
Eu tive o mesmo problema e tive que atender a todos esses requisitos:
Finalmente resolvi da seguinte maneira:
webpack.config.js:
package.json:
Então eu posso construir por (Não esqueça
npm install
antes):fonte
Encontrei uma nova solução para esse problema.
Isso usa uma matriz de configuração para permitir que o webpack construa a versão reduzida e não reduzida em paralelo. Isso torna a construção mais rápida. Não há necessidade de executar o webpack duas vezes. Não há necessidade de plugins extras. Apenas webpack.
webpack.config.js
A execução
webpack
criará apenas a versão não minificada.A execução
webpack --env=production
criará a versão minificada e não minificada ao mesmo tempo.fonte
Você deve exportar uma matriz como esta:
fonte
Você pode definir dois pontos de entrada na configuração do webpack, um para seus js normais e o outro para js minificados. Em seguida, você deve exibir seu pacote configurável com seu nome e configurar o plug-in UglifyJS para incluir arquivos min.js. Veja o exemplo de configuração do webpack para mais detalhes:
Após executar o webpack, você terá bundle.js e bundle.min.js na pasta dist, sem a necessidade de plug-ins extras.
fonte