プロジェクトのスタイラス ファイルを、jade ファイルと組み合わせて使用する css ファイルにコンパイルできないようです。jade ファイルのコンテンツはブラウザに表示されていますが、.styl ファイルで指定されているようにフォーマットされていません。
私が使用しているパスと関係があると思います。「/public」に関して混乱しています。それは、プロジェクト ツリーで実際に作成するディレクトリであるはずですか、それとも単に現在の場所のプレースホルダーまたは類似のものですか?
以下は私の必要なモジュールです:
var express = require('express'),
connect = require('connect'),
account = require('./account'),
stylus = require('stylus'),
nib = require('nib'),
http = require('http'),
path = require('path');
var app = express();
以下は私の設定コードです:
function compile(str, path) {
return stylus(str)
.set('filename', path)
.use(nib())
}
app.configure('development', function(){
app.set('port', process.env.PORT || 8888);
app.set('views', __dirname + '/views');
app.set('view engine', 'jade');
app.use(express.favicon());
app.use(express.logger('dev'));
app.use(express.bodyParser());
app.use(express.methodOverride());
app.use(app.router);
app.use(express.static(path.join(__dirname, 'public')));
app.use(express.bodyParser());
app.use(express.cookieParser('1234567890QWERTY'));
app.use(express.session({secret: '1234567890QWERTY'}));
app.use(express.errorHandler());
app.use(stylus.middleware({
src: __dirname + '/public',
dest: __dirname + "/css",
compile: compile
}
));
});
以下は私のハンドラです:
app.get('/', function(req, res) {
res.render('index',{title: 'Home'});
});
現在、ディレクトリ ツリーのプロジェクト ルートの下にスクリプト ファイルがあり、スタイルシート、ビュー、css、および node_modules ディレクトリもすべてルートの下にあります。「パブリック」ディレクトリはありません。