Заставить webpack игнорировать каталог
Я делаю расширение Chrome, которое внедряет скрипты контента. Я не хочу, чтобы скрипты содержимого обрабатывались веб-пакетом.
Моя структура каталогов:
/extension
|-manifest.json
|--scripts
|- background.js
|- content
|-- script1.js
|-- script2.js
|-- ...
Вот мое задание, которое вызывает webpack:
gulp.task('js', (cb) => {
return gulp.src(['source/scripts/**/*.js'])
.pipe(plumber({
errorHandler: function(errors) {
}
}))
.pipe(named())
.pipe(gulpWebpack({
watch: args.watch,
module: {
rules: [
{
enforce: "pre",
test: /\.json$/,
loader: "json-loader"
},
{
enforce: "pre",
test: /\.(gif|jpe?g|png)$/,
loader: "file-loader?name=img/[name].[ext]",
},
{
enforce: "pre",
test: /content\//,
loader: "file-loader?name=content/[name].[ext]",
},
{
test: /\.js$/,
loader: "babel-loader",
exclude: [
/content/
]
}
],
},
}, null, (err, stats) => {
log(`Finished '${colors.cyan('js')}'`, stats.toString({
chunks: false,
colors: true,
cached: false,
children: false
}));
}))
.pipe(gulp.dest(`/scripts`))
});
Я хочу сохранить структуру каталогов в каталоге сборки, а не получать файлы внутри content/
быть разобранным, т.е. использовать file-loader
Но они просто разбираются и мой pre
правило для скриптов контента игнорируется.
2 ответа
Я сделал отдельную задачу gulp для копирования сценариев такого рода без какой-либо обработки и исключил этот же каталог из задачи gulp, которая вызывает webpack
Webpack будет обрабатывать только те файлы, которые необходимы для сценария, который вы компилируете. Это невозможно сделать, так как исключение каталогов с зависимостями может нарушить ваш проект.