React, Webpack, Stylus - импортировать глобальные переменные во все компоненты
У меня есть приложение "Реакция" и в Webpack у меня есть этот код:
stylus: {
use: [require('nib'), require('jeet')],
import: [
'~nib/lib/nib/index.styl',
'~jeet/stylus/jeet/_jeet',
'~rupture/rupture/index.styl'
]
}
Как я могу импортировать мой variable.styl
к каждому компоненту во всем мире? Мне нужно добавить что-то вроде этого:
stylus: {
import: [
'./app/styles/variables.styl'
]
}
после этого вебпак остановился на 96% и больше ничего.
1 ответ
Решение
Большинство путей в конфигурации Webpack должны быть полными (абсолютными, а не относительными).
Попробуй это:
const path = require('path');
...
stylus: {
import: [
'~nib/lib/nib/index.styl',
'~jeet/stylus/jeet/_jeet',
'~rupture/rupture/index.styl',
path.resolve(__dirname, './app/styles/variables.styl')
]
}
(Я думаю, что первые три импорта могут не понадобиться, если они также получают @import
'в variables.styl
).
Для тех из вас, кто использует Webpack 2+, это путь сейчас:
Твой webpack.config.js
const path = require('path')
module.exports = {
module: {
rules: [
{
test: /\.(styl|css)$/,
use: [
'css-loader',
{
loader: 'stylus-loader',
options: {
import: [
path.resolve(__dirname, './app/assets/stylesheets/variables.styl') // Path to the file
]
}
}
],
},
],
}
}
Вы можете использовать style-resources-loader
для внедрения глобальных переменных в файлы *.styl.