У меня есть core.styl, куда я помещаю свой стиль сетки, некоторые функции стилуса и некоторые переменные. Этот файл должен быть импортирован во все мои маршруты.
Кроме того, у меня есть page.styl, который зависит от моего текущего маршрута (например, contact.styl для /contact)
Примечание. Мой проект основан на angular.js, поэтому html-заголовок не меняется. Но я могу добавить кое-что с помощью angular в html-head, например .
Я пытался следовать
//index.html
<link rel="stylesheet" href="/css/core.css" /> <-- this is static, always there>
<link rel="stylesheet" href="/css/pages/contact.css" /> <--- added by angular
Проблема: в contact.styl у меня нет доступа к переменным и функциям стилуса (объявленным в core.styl)
одно решение: @import '../core.styl' в каждой таблице стилей страницы. Но для меня исключено.
Есть ли другое решение, которое я могу попробовать?
Может что-то подобное (server.js)?
function compile(str, path) {
return stylus(str)
.import(config.path_client + "/css/core")
.set('filename', path)
.set('warn', true)
.set('compress', true);
}
app.use(stylus.middleware({
src: config.path_client + '/css/pages',
compile: compile
}));
Изменить: Моя файловая структура:
|client
||css
|||pages
||||-contact.styl
||||-contact.css
|||base
||||-core.styl
||||-core.css
|server
||-server.js
|