1

グリッド スタイル、いくつかのスタイラス関数、およびいくつかの変数を配置するcore.stylがあります。このファイルは、すべてのルートにインポートする必要があります。

それに加えて、現在のルートに依存するpage.stylがあります( / contactのcontact.stylなど)

注: 私のプロジェクトは angular.js に基づいているため、html-head はリロードしません。しかし、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 では、スタイラスの変数と関数 (core.styl で宣言) にアクセスできません。

1 つの解決策:各ページのスタイルシートに@import '../core.styl'を追加します。しかし、質問のmeoutのために。

私が試すことができる他の解決策はありますか?

多分そのようなもの(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
|

4

1 に答える 1

1

defineJS API を使用し、メソッドを使用してこれらの変数を定義できます。http://learnboost.github.io/stylus/docs/js.html#definename-nodeを参照してください

于 2015-03-06T08:38:02.823 に答える