1

プロジェクトのスタイラス ファイルを、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 ディレクトリもすべてルートの下にあります。「パブリック」ディレクトリはありません。

4

2 に答える 2