Я использую webpack
с нижеследующими правилами:
{
test: /\.(html|css)/,
use: [{
loader: 'file-loader',
options: {
exportAsEs6Default: true,
},
}],
},
{
test: /\.(less|css)$/,
// include: /node_modules/,
use: [{
loader: 'css-loader', // translates CSS into CommonJS
}, {
loader: 'less-loader', // compiles Less to CSS
options: {
paths: [
path.resolve(__dirname, 'node_modules'),
],
},
}
Теперь в файле с именем styles.less
у меня есть два import
утверждения:
@import '@xyz/variables/global.less';
@import '@xyz/common/styles.less';
@xyz
- это пакет npm, в котором есть все мои файлы.global.less
имеет все глобальные переменные, определенные в нем.
styles.less
имеет:
@import "./normalize";
@import (multiple) "./common-dark";
@import (multiple) "./common-light";
common-dark
имеет:
.dark {
@import (reference, multiple) "@xyz/variables/dark";
@import "common";
}
Теперь естьпеременная @layer2
в "@ xyz / variable / dark", но во время сборки webpack
всегда выдается сообщение о том, что @layer2
не определено.Если я импортирую этот конкретный файл, как этот, тогда эта переменная станет доступной:
@import '@xyz/variables/dark.less';
Итак, мой вопрос здесь: если файл меньшего размера импортировал другой файл меньшего размера, будут ли доступны все указанные файлы илинет, если я импортирую только основной файл меньше?