Ответ 1
Поместите static()
ниже промежуточного программного обеспечения стилуса.
Я использую последнюю версию Node в Mac OS X. Я установил Express вместе со Stylus. Также последние версии.
Stylus не перекомпилирует мои .styl файлы, когда я их модифицирую. Как я могу это исправить?
Единственное решение для скомпилирования моих файлов .styl - удалить скомпилированные файлы .css... перезапустить мое приложение или выполнить clear-cache-refresh (CMD + Shift + R), а не в результате происходит повторная компиляция.
Здесь дамп конфигурации моего приложения. Это в основном так же, как при создании нового экспресс-приложения с исполняемым файлом...
app.configure(function ()
{
this.set("views", __dirname + "/views");
this.set("view engine", "jade");
this.use(express.bodyParser());
this.use(express.methodOverride());
this.use(express.static(__dirname + '/public'));
this.use(require("stylus").middleware({
src: __dirname + "/public",
compress: true
}));
this.use(this.router);
});
Оба мои .styl и скомпилированные файлы .css находятся в [application]\public\stylesheets\
Поместите static()
ниже промежуточного программного обеспечения стилуса.
Теперь может быть уже слишком поздно, но я только что пропустил несколько часов (T__T), и я думаю, что это ошибка нефрита или что-то в этом роде. Я сам объясню: С помощью этого кода в server.js:
app.set('views', __dirname + '/views');
app.set('view engine', 'jade');
app.use(
stylus.middleware({
src: __dirname + "/assets/stylus",
dest: __dirname + "/assets/css",
debug: true,
compile : function(str, path) {
console.log('compiling');
return stylus(str)
.set('filename', path)
.set('warn', true)
.set('compress', true);
}
})
);
app.use(express.static(__dirname + '/assets'));
и в index.jade:
link(rel="stylesheet", href="css/style.css")
работает отлично. Проблема была в теге ссылки:
link(rel="stylesheet", href="stylesheets/style.css")
а затем он вообще не перекомпилировался.
Я надеюсь, что это поможет
Настройки по умолчанию Express.js
app.use(require('stylus').middleware(path.join(__dirname, 'public')));
Настройка сжатия стилуса Express.js вы должны добавить таблицу стилей в документ, загрузка страницы скомпилирована и сжимает css
app.use(require('stylus').middleware({src: path.join(__dirname, 'public'), compress: true}));