Alguém sabe como criar vários caminhos de saída em um arquivo webpack.config.js? Estou usando o bootstrap-sass, que vem com alguns arquivos de fonte diferentes, etc. Para o webpack processar esses arquivos, incluí o carregador de arquivos que está funcionando corretamente, no entanto, os arquivos que ele gera estão sendo salvos no caminho de saída especificado para o resto dos meus arquivos:
output: {
path: __dirname + "/js",
filename: "scripts.min.js"
}
Eu gostaria de conseguir algo em que talvez eu possa olhar para os tipos de extensão para qualquer webpack que esteja produzindo e para coisas que terminem em .woff .eot, etc., desviá-las para um caminho de saída diferente. Isso é possível?
Eu pesquisei um pouco no Google e me deparei com essa questão * no github, onde algumas soluções são oferecidas, edite:
mas parece que você precisa conhecer o ponto de entrada capaz de especificar uma saída usando o método hash, por exemplo:
var entryPointsPathPrefix = './src/javascripts/pages';
var WebpackConfig = {
entry : {
a: entryPointsPathPrefix + '/a.jsx',
b: entryPointsPathPrefix + '/b.jsx',
c: entryPointsPathPrefix + '/c.jsx',
d: entryPointsPathPrefix + '/d.jsx'
},
// send to distribution
output: {
path: './dist/js',
filename: '[name].js'
}
}
* https://github.com/webpack/webpack/issues/1189
no entanto, no meu caso, no que diz respeito aos arquivos de fonte, o processo de entrada é meio que abstraído e tudo o que sei é a saída. no caso de meus outros arquivos sofrerem transformações, há um ponto conhecido em que exijo que eles sejam tratados pelos meus carregadores. se houvesse uma maneira de descobrir onde essa etapa estava acontecendo, eu poderia usar o método hash para personalizar os caminhos de saída, mas não sei onde esses arquivos estão sendo necessários.
module{}
objeto está incorreto. Não é necessário. Ele será estendido / fundiram no mesmo nível como palavras-chavename
,entry
,output
(a partir de seu exemplo). <pre> <code> {module: {mode: "development", devtool: "source-map"}}, nome: "a", entrada: "./a/app", saída: {path: "/ a ", nome do arquivo:" bundle.js "}} </code> </pre>O Webpack suporta vários caminhos de saída.
Defina os caminhos de saída como a chave de entrada. E use o
name
modelo como saída.configuração do webpack:
gerado:
fonte
dist
nele. Portanto, em vez demodule/a/index.js
ser um caminho de saída, deveria ser.module/a/dist/index.js
Ou então, você está substituindo seus arquivos de entrada.dist
pasta @Sung já está configurada no caminho de saída. Então o arquivo gerado seria realmente odist/module/a/index.js
que eu não mencionei.output.filename
conforme documentado aqui: webpack.js.org/configuration/output/#outputfilenameSe você pode viver com vários caminhos de saída com o mesmo nível de profundidade e estrutura de pastas, existe uma maneira de fazer isso no webpack 2 (ainda não foi testado com o webpack 1.x)
Basicamente, você não segue as regras do documento e fornece um caminho para o nome do arquivo.
Isso levará essa estrutura de pastas
E transformá-lo em
fonte
Eu escrevi um plugin que pode fazer o que você deseja, você pode especificar pontos de entrada conhecidos ou desconhecidos (usando glob ) e especificar saídas exatas ou gerá-las dinamicamente usando o caminho e o nome do arquivo de entrada. https://www.npmjs.com/package/webpack-entry-plus
fonte
Você definitivamente pode retornar uma série de configurações do seu arquivo webpack.config. Mas não é uma solução ideal se você deseja que apenas uma cópia dos artefatos esteja na pasta da documentação do seu projeto, pois faz com que o webpack construa seu código duas vezes duas vezes o tempo total de criação.
Nesse caso, eu recomendo usar o plugin FileManagerWebpackPlugin:
fonte
Você pode ter apenas um caminho de saída.
dos documentos https://github.com/webpack/docs/wiki/configuration#output
fonte
Na verdade, acabei entrando no index.js no módulo do carregador de arquivos e mudando para onde o conteúdo foi emitido. Provavelmente, essa não é a solução ideal, mas até que haja outra maneira, tudo bem, pois sei exatamente o que está sendo tratado por esse carregador, que são apenas fontes.
fonte