2014-01-15 5 views
1

Я недавно начал изучать Node.js, и я пытаюсь настроить экспресс-установку с использованием менее промежуточного ПО и хочу использовать файлы Bootstrap 3 less. Я имел взгляд вокруг, но могу только найти учебники для Bootstrap 2.Node.js Express/less-middleware & Bootstrap 3

Это мой код до сих пор:

/** 
* Module dependencies. 
*/ 

var express = require('express'); 
var routes = require('./routes'); 
var user = require('./routes/user'); 
var http = require('http'); 
var path = require('path'); 

var app = express(); 

// all environments 
app.set('port', process.env.PORT || 3000); 
app.set('views', path.join(__dirname, 'views')); 
app.set('view engine', 'jade'); 
app.use(express.favicon()); 
app.use(express.logger('dev')); 
app.use(express.json()); 
app.use(express.urlencoded()); 
app.use(express.methodOverride()); 
app.use(express.cookieParser('your secret here')); 
app.use(express.session()); 
app.use(app.router); 
app.use(require('less-middleware')({ 
     dest: __dirname + '/public/stylesheets', 
     src: __dirname + '/public/stylesheets/less', 
     prefix: '/stylesheets', 
     compress: true, 
     debug: true, 
     force: true 
    })); 
app.use(express.static(path.join(__dirname, 'public'))); 

// development only 
if ('development' == app.get('env')) { 
    app.use(express.errorHandler()); 
} 

app.get('/', routes.index); 
app.get('/users', user.list); 

http.createServer(app).listen(app.get('port'), function(){ 
    console.log('Express server listening on port ' + app.get('port')); 
}); 

При запуске сервера, я получаю следующее:

GET/200 190ms - 180b 
    source : /home/user/www/website.com/public/stylesheets/less/bootstrap.less 
    dest : /home/user/www/website.com/public/stylesheets/bootstrap.css 
    read : /home/user/www/website.com/public/stylesheets/less/bootstrap.less 
    render : /home/user/www/website.com/public/stylesheets/less/bootstrap.less 
GET /stylesheets/bootstrap.css 200 565ms - 97.43kb 

Но стили, которые я изменил, похоже, не вступают в силу. Может ли кто-нибудь сказать мне, где я ошибся, пожалуйста?

Благодаря

ответ

2

Используется вместо этого со страницы менее промежуточного GitHub, и теперь он работает нормально.

var less = require('less-middleware'); 

app.configure(function(){ 
    // ... 
    var bootstrapPath = path.join(__dirname, 'node_modules', 'bootstrap'); 
    app.use(express.bodyParser()); 
    app.use(express.methodOverride()); 
    app.use('/img', express['static'](path.join(bootstrapPath, 'img'))); 
    app.use(app.router); 
    app.use(less({ 
    src : path.join(__dirname, 'public/stylesheets', 'less'), 
    paths : [path.join(bootstrapPath, 'less')], 
    dest : path.join(__dirname, 'public', 'stylesheets'), 
    prefix : '/stylesheets', 
    debug: true 
    })); 
    app.use(express['static'](path.join(__dirname, 'public'))); 
    // ... 
}); 
+1

Ваш начальный код работает для меня тоже отлично. Возможно, файлы CSS кэшируются браузером? – robertklep