2017-04-05 4 views
0

Puis-je avoir plusieurs points d'entrée correspondant à plusieurs points de sortie dans webpack.js?Points d'entrée et de sortie multiples de Webpack

E.g.

module.exports = { 
    entry: './pathA1/fileA1', 
    output: { 
     path: './pathA2', 
     filename: 'fileA2' 
    }, 
    entry: './pathB1/fileB1', 
    output: { 
     path: './pathB2', 
     filename: 'fileB2' 
    } 
} 

Je voudrais que l'entrée ./pathA1/fileA1 est copié ./pathA2/fileA2, et l'entrée ./pathB1/fileB1 est copié ./pathB2/fileB2.

Répondre

1

Si vous passez un objet à la clé d'entrée, puis chaque touche de l'objet est traité comme un fichier séparé et le fichier de sortie correspondant est créé pour que

{ 
entry: { 
    a: "./a", 
    b: "./b", 
    c: ["./c", "./d"] 
}, 
output: { 
    path: path.join(__dirname, "dist"), 
    filename: "[name].entry.js" 
} 

citant à partir du site webpack

Pour utiliser plusieurs points d'entrée, vous pouvez passer un objet à l'option d'entrée. Chaque valeur est traitée comme un point d'entrée et la clé représente le nom du point d'entrée. Lorsque vous utilisez plusieurs points d'entrée, vous devez remplacer l'option output.filename par défaut. Sinon, chaque point d'entrée écrirait dans le même fichier de sortie. Utilisez [nom] pour obtenir le nom du point d'entrée.

+0

Oui, bien sûr et merci pour la réponse. Cependant, que se passe-t-il si les points d'entrée n'ont rien à faire l'un avec l'autre et que je ne peux pas les corréler avec cette variable [nom]? – luthien

+0

La variable name est ici la clé. Donc, pour "un" nom sera un. Si le point d'entrée n'a rien à voir l'un avec l'autre, vous pouvez utiliser quelque chose comme sortie: { chemin: base.coreOutDir, nom de fichier: '[nom]/[nom] .bundle.js' } créer un fichier sous un autre nom de dossier en tant que clé donnée. –