Кто-нибудь знает, как создать несколько выходных путей в файле webpack.config.js? Я использую bootstrap-sass, который поставляется с несколькими различными файлами шрифтов и т. Д. Для веб-упаковки, чтобы обработать их, я включил загрузчик файлов, который работает правильно, однако файлы, которые он выводит, сохраняются в пути вывода, который я указал для остальные мои файлы:
output: {
path: __dirname + "/js",
filename: "scripts.min.js"
}
Я хотел бы достичь чего-то, где я мог бы, возможно, взглянуть на типы расширений для того, что выводит веб-пакет, и для вещей, заканчивающихся на .woff .eot и т. Д., Чтобы они были перенаправлены на другой путь вывода. Это возможно?
Я немного погуглил и наткнулся на эту * проблему на github, где предлагается пара решений, отредактируйте:
но выглядит так, как будто вам нужно знать точку входа, чтобы определить выход с помощью хеш-метода, например:
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
однако в моем случае, что касается файлов шрифтов, процесс ввода отчасти отвлечен, и все, что я знаю, это вывод. в случае, когда мои другие файлы подвергаются преобразованиям, есть известный момент, когда я требую, чтобы они были обработаны моими загрузчиками. если бы был способ узнать, где происходит этот шаг, я мог бы затем использовать метод хэширования для настройки путей вывода, но я не знаю, где эти файлы требуются.
module{}
Объект неверный. Это не обязательно. Он будет расширен / слиты на том же уровне в качестве ключевых словname
,entry
,output
(из вашего примера). <pre> <code> {module: {mode: "development", devtool: "source-map"}}, имя: "a", запись: "./a/app", вывод: {путь: "/ a ", имя файла:" bundle.js "}} </ code> </ pre>Webpack поддерживает несколько путей вывода.
Установите выходные пути в качестве ключа ввода. И используйте
name
шаблон вывода.Конфигурация веб-пакета:
Генерация:
источник
dist
в нем. Таким образом, вместо того,module/a/index.js
чтобы быть выходным путем, это должно бытьmodule/a/dist/index.js
Иначе, вы переопределяете свои входные файлы.dist
Папка @Sung уже настроена в выходном пути. Таким образом, сгенерированный файл будет на самом делеdist/module/a/index.js
, о котором я не упомянул.output.filename
здесь: webpack.js.org/configuration/output/#outputfilenameЕсли вы можете жить с несколькими путями вывода, имеющими одинаковый уровень глубины и структуру папок, есть способ сделать это в веб-пакете 2 (еще предстоит протестировать с веб-пакетом 1.x)
По сути, вы не следуете правилам документа и указываете путь к имени файла.
Это займет эту структуру папок
И превратить это в
источник
Я написал плагин, который, можно надеяться, будет делать то, что вы хотите, вы можете указать известные или неизвестные точки входа (используя glob ) и указать точные выходные данные или динамически сгенерировать их, используя путь и имя файла входа. https://www.npmjs.com/package/webpack-entry-plus
источник
Вы определенно можете вернуть массив настроек из вашего файла webpack.config. Но это не оптимальное решение, если вы просто хотите, чтобы копия артефактов находилась в папке документации вашего проекта, так как это заставляет веб-пакет создавать код вдвое, удваивая общее время сборки.
В этом случае я бы рекомендовал использовать вместо этого плагин FileManagerWebpackPlugin:
источник
Вы можете иметь только один выходной путь.
из документов https://github.com/webpack/docs/wiki/configuration#output
источник
На самом деле я просто зашел в index.js в модуле загрузчика файлов и изменил, куда было отправлено содержимое. Возможно, это не оптимальное решение, но пока нет другого пути, это нормально, так как я точно знаю, что обрабатывается этим загрузчиком, который является просто шрифтами.
источник