У меня есть core.styl, где я поместил свой стиль сетки, некоторые стилусы и некоторые переменные. Этот файл должен быть импортирован в всем моих маршрутов.Глобальные переменные Stylus
Помимо этого у меня есть page.styl, который dependes на моем текущем маршруте (например contact.styl для/контакта)
Примечания: Мой проект основан на angular.js поэтому HTML-головке не суммируются и не relode , Но я могу добавить некоторые вещи с угловыми в html-голове, например .
Я попытался следующие
//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 У меня нет доступа к моему стилуса varaiables и функции (объявленные в core.styl)
одно решение: @import '../core.styl' в каждой таблице стилей. Но из-за вопроса.
Есть ли другое решение, в котором я могу попробовать?
Возможно, что-то вроде этого (server.js)?
function compile(str, path) {
\t return stylus(str)
\t \t .import(config.path_client + "/css/core")
\t \t .set('filename', path)
\t \t .set('warn', true)
\t \t .set('compress', true);
}
app.use(stylus.middleware({
\t src: config.path_client + '/css/pages',
\t compile: compile
}));
Edit: Моя структура файла:
|client
||css
|||pages
||||-contact.styl
||||-contact.css
|||base
||||-core.styl
||||-core.css
|server
||-server.js
|
Разве это не то же самое, что и первое решение, о котором я упоминал, где я «@» импортировал «core.styl»? Или, может быть, я не понимаю это правильно, поэтому, если вы меня правильно порекомендуете, я делаю .set ('filename', '/myvars.styl').define(myvars), а затем делаю' @ 'import' myvars.styl 'ИЛИ я это делаю. set ('filename', path) .define (myvars), что myvars напрямую импортируются, например contact.css. Таким образом, оба заканчиваются тем же самым, что и myvars на вершине, например. Определен ли файл contact.styl или? - Нет ли способа определить эти вары полностью независимо от любого .styl/.css-файла? – Mangocrack
С вашего вопроса это похоже на то, что вам нужно (определенные глобальные вары и функции будут доступны внутри 'contact.styl', не импортируя их в' core.styl'. – Panya
Они будут полностью независимыми (они просто глобальны) – Panya