Итак, у меня есть следующий файл webpack.config.js
:
const path = require('path');
const JS_DIR = path.resolve(__dirname, '/js');
const BUILD_DIR = path.resolve(__dirname, 'js');
const entry = {
main: JS_DIR + '/main/main.js',
all: JS_DIR + '/all.js',
};
const output = {
path: BUILD_DIR,
filename: 'js/main/[name].js'
};
const rules = [
{
test: /\.js$/,
include: [ JS_DIR ],
exclude: /node_modules/,
// Loaders enable us to bundle the static assets.
use: 'babel-loader', // Allows for transpiling JS files using babel & webpack.
}
];
module.exports = () => ({
entry: entry,
output: output,
devtool: false, // Don't output any .map source files, otherwise 'source-map'.
module: {
rules: rules,
}
});
В настоящее время, когда я запускаю npm run prod
, я получаю следующую сборку:
Он создает дополнительный каталог /js
внутри каталога /js
, а затем у него есть main/all.js and main/main.js
. all.js
внутри там пустой, но main.js
- это скомпилированный материал.
Чего я пытаюсь достичь:
Вместо того, чтобы создавать каталог /js
внутри /js
, как я могу сделать вывод содержимого js/main/main.js
только на all.js
в основном каталоге js? Так в основном вот так:
Любая помощь будет оценена!
@jonrsharpe, поэтому я перешел к filename: '[name].js',
, который выводит в тот же каталог (это здорово), но он выводит файл main.js
, но также выводит пустой all.js
, я бы хотел не выводить main.js и только вывод all.js (но возьмите вывод из main.js и поместите его внутри all.js).
На данный момент вы явно указали
output.filename
какjs/main/[name].js
.