Загрузите Twitter с помощью Node.js & Express - PullRequest
23 голосов
/ 07 февраля 2012

Поскольку Twitter Bootstrap 2 отсутствует, я хотел интегрировать это в мой проект Node.js. К сожалению, что-то не так с менее компилятором, и я не могу заставить его работать. Я помещаю все файлы в общую папку и настраиваю новый проект с express -c less newproj. и добавил строки для менее

less = require('less');
app.use(express.compiler({ src: __dirname + '/public', enable: ['less'] }));

Все, что мне говорит узел, это:

Express server listening on port 3000 in development mode
undefined

На стороне клиента я получаю 500 (внутренняя ошибка сервера) для файла bootstrap.css, который должен быть скомпилирован lessc.

lessc bootstrap.less

Работает нормально.

Кто-нибудь знает, как решить проблему?

Ответы [ 2 ]

19 голосов
/ 18 апреля 2012

Для потомков это сильно изменилось в недавнем экспрессе:

app.use(require('less-middleware')({ src: __dirname + '/public' }));
app.use(express.static(path.join(__dirname, 'public')));

// This is just boilerplate you should already have
app.use(express.bodyParser());
app.use(express.methodOverride());
app.use(app.router);
11 голосов
/ 07 февраля 2012

Хорошо, вот что я нашел для вас.Для начала вам нужен как компилятор, так и статическое промежуточное ПО.Компилятор компилирует ваш less и перекомпилирует изменения, статическое промежуточное ПО выполняет фактическое обслуживание css

app.use(express.compiler({ src : __dirname + '/public', enable: ['less']}));  
app.use(express.static(__dirname + '/public'));

Во-вторых, по какой-то причине, когда компилятор запускается, он теряет информацию о текущем пути, поэтому он может 'т найти включает.Поэтому мне пришлось пройти через bootstrap.css и добавить путь к каждому импорту.

@import "/public/stylesheets/reset.less";

Это явно странно, я собираюсь углубиться в это.

Редактировать: Покастранно, глубокий взгляд на код не показывает мне простого способа обойти это.Немного больше поиска нашло этот запрос извлечения в репозитории Connect https://github.com/senchalabs/connect/pull/174, который предлагает исправление для этого, но разработчики, кажется, не хотят этого.

В этом потоке также есть некоторые обходные пути, но, похоже, лучшая идея - это абсолютный путь, который вы включаете.

...