Я разрабатываю модуль, который обрабатывает файлы вне своего корневого каталога, например, если у меня следующая структура папок:
Frontend -> src -> chunks -> js -> main.es6
Frontend -> src -> chunks -> scss -> styles.scss
Frontend -> node_modules -> @workspace -> module -> client -> index.js
Я пытаюсь обработать файлы внутри Frontend / src(es6 и scss) изнутри модуля, расположенного в папке node_modules
с веб-пакетом 4, но babel-загрузчик не переносится, а sass-загрузчик работает неправильно и, как следствие, не работает css-загрузчик.Вот как мой конфиг веб-пакета ищет modules.rules
module: {
rules: [
{
test: /(.es6|.js)$/,
exclude: /node_modules/,
include: [Path.resolve(__dirname, './../../../../../src/**/main.es6')],
loader: 'babel-loader',
options: {
presets: ['@babel/preset-env']
}
},
{
enforce: 'pre',
test: /(.es6|.js)$/,
exclude: /node_modules/,
loader: 'eslint-loader',
include: Path.resolve(__dirname, '../../../../../src/**/*.es6'),
options: {
cache: false,
configFile: ExternalConfigsPaths.ESLINT,
emitWarning: true
}
},
{
test: /\.s?css/i,
include: Path.resolve(__dirname, './../../../../../src/**/*.scss'),
use: [
MiniCssExtractPlugin.loader,
{
loader: 'css-loader',
options: {
sourceMap: true
}
},
{
loader: 'sass-loader',
options: {
sourceMap: true,
includePaths: [Path.resolve(__dirname, './../../../../../src/**/*.scss')]
}
}
]
}
]
}
Я читал, что может не может транспортировать или обрабатывать файлы за пределамикорневого каталога модуля, в этом случае мне нужно будет скопировать файлы из файлов src в модуль, обработать их и затем переместить сгенерированные / обработанные файлы снова за пределы модуля, мне не очень нравится этот подходи именно поэтому я прихожу сюда, чтобы посмотреть, можете ли вы помочь мне в этом.