Comment créer plusieurs chemins de sortie dans Webpack config
Personne ne sait comment créer plusieurs chemins de sortie dans un webpack.config.js fichier? Je suis en utilisant bootstrap-sass qui est livré avec un peu différents fichiers de police, etc. Pour webpack à ces processus, j'ai inclus le fichier loader qui fonctionne correctement, cependant les fichiers il les résultats sont enregistrés sur le chemin de la sortie, j'ai spécifié pour le reste de mes fichiers:
output: {
path: __dirname + "/js",
filename: "scripts.min.js"
}
J'aimerais réaliser quelque chose où je peux peut-être regarder les types d'extension pour quelque webpack est sortie et pour que les choses se terminant en .woff .eot, etc, ont leur détournés vers un autre chemin de sortie. Est-ce possible?
J'ai fait une petite recherche sur google et suis tombé sur cette *question sur github, où un couple de solutions sont proposées, edit:
mais il semble que si vous avez besoin de savoir le point d'entrée en mesure de préciser une sortie à l'aide de la méthode de hachage
par exemple:
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
cependant dans mon cas, d'autant que les fichiers de police sont concernés, le processus de participation est le genre de disparaît et tout ce que je sais est la sortie. dans le cas de mes autres fichiers subissant des transformations, il est un point où je suis d'exiger d'eux pour être ensuite traitées par mes chargeurs. si il y avait un moyen de trouver où cette étape qui se passait, je pourrais ensuite utiliser la méthode de hachage pour personnaliser les chemins de sortie, mais je ne sais pas où ces fichiers sont requis.
Vous devez vous connecter pour publier un commentaire.
Je ne sais pas si nous avons le même problème depuis webpack ne supportent qu'une seule sortie par configuration à partir de Juin 2016. Je suppose que vous avez déjà vu le question sur Github.
Mais j'ai séparé le chemin de la sortie à l'aide de la multi-compilateur. (c'est à dire la séparation de l'objet de configuration de
webpack.config.js
).Si vous avez une configuration commune parmi eux, vous pouvez utiliser le étendre bibliothèque ou
Object.assign
dans l'ES6 ou{...}
propagation de l'opérateur dans l'ES7.module{}
objet est incorrect. Il n'est pas nécessaire. Il sera étendu/fusionné au même niveau que les mots-clésname
,entry
,output
(à partir de votre exemple). <pre><code> { module: { mode: "développement", outil développeur d'internet explorer: "la source de la carte" } }, nom: "un", entrée: "./un/app", sortie: { path: "/a", filename: "bundle.js" } } </code></pre>Webpack prend en charge plusieurs chemins de sortie.
Ensemble les chemins de sortie que de l'entrée de la clé. Et l'utilisation de la
name
comme modèle de sortie.webpack config:
généré:
dist
en elle. Ainsi, au lieu demodule/a/index.js
être un chemin de sortie, il devrait êtremodule/a/dist/index.js
Ou autre, vous personnalisez vos fichiers d'entrée.dist/module/a/index.js
, que je n'avais pas mentionné.ERROR in Entry module not found: Error: Can't resolve 'src/js/app.js'
lors de l'utilisation:entry: { 'src/js/app': "src/js/app.js"}
__dirname + '/dist/js')
, puis dans les plugins, faire des choses commenew CopyWebpackPlugin([{ from: "./src/img/", to: "../img" }])
pour copier des fichiers à/dist/img/
, mais alors que la confusion dans les autres plugins, commezip-webpack-plugin
. En ajoutant le chemin de la sortie à l'entrée de la clé semble être la seule chose qui fonctionne de manière fiable.output.filename
, comme indiqué ici: webpack.js.org/configuration/output/#outputfilenameSi vous pouvez vivre avec de multiples chemins de sortie ayant le même niveau de profondeur et de la structure de dossier il y a un moyen de le faire dans webpack 2 (ai pas encore tester avec webpack 1.x)
Fondamentalement, vous ne suivez pas la doc de règles et de vous fournir un chemin d'accès pour le nom de fichier.
Que prendra cette structure de dossiers
Et de le transformer en
Vous ne pouvez avoir qu'un chemin de sortie.
de la documentation https://github.com/webpack/docs/wiki/configuration#output
J'ai écrit un plugin qui, j'espère, faire ce que vous voulez, vous pouvez spécifier connus ou inconnus points d'entrée (à l'aide de glob) et spécifier exacte de sorties ou de générer dynamiquement en utilisant l'entrée du chemin d'accès au fichier et le nom. https://www.npmjs.com/package/webpack-entry-plus
Je l'ai fait à la liquidation de la juste aller dans index.js dans le fichier-chargeur de module et de l'évolution où les contenus ont été émis. Ce n'est probablement pas la solution optimale, mais jusqu'à il y a une autre façon, c'est très bien, depuis que je sais exactement ce qui est manipulé par ce chargeur, qui est juste de polices de caractères.