2012-05-24 3 views
4

Быстрый вопрос: почему бы не выразить.js запустить с dust.js?
Я знаю, что это официально не поддерживается, но у dust.js даже есть проблемы с моей версией node.js.
Узел даже не запускается из-за проблем require.path.node.js + express.js + dust.js вопросы

server:testapp treejanitor$ node --version 
v0.6.12 

У меня возникают проблемы при настройке приложения на пыль. (app.js в экспресс)

var dust = require('dust'); 
... 
app.set('view engine', 'dust'); 

Я показываю здесь консоль, чтобы дать вам мой простой список модулей.
Также кто-то, кто ищет ту же проблему, может вырезать/вставить ошибку.

server:hummr treejanitor$ npm list 
[email protected] /Users/treejanitor/git/testapp/testapp 
├── [email protected] extraneous 
├── [email protected] 
├─┬ [email protected] 
│ ├─┬ [email protected] 
│ │ └── [email protected] 
│ ├── [email protected] 
│ ├── [email protected] 
│ └── [email protected] 
└─┬ [email protected] 
    ├── [email protected] 
    └── [email protected] 

server:testapp treejanitor$ supervisor app.js 

DEBUG: Error: require.paths is removed. Use node_modules folders, or the NODE_PATH environment variable instead. 
    at Function.<anonymous> (module.js:378:11) 
    at Object.<anonymous> (/Users/treejanitor/git/testapp/testapp/node_modules/dust/lib/server.js:6:8) 

Я попробовал следующую попытку не повезло:
Dust.js load template from filesystem in Node.js

ПРИМЕЧАНИЕ: Я попробовал альфа-версию экспресс (3.0), которое не помогло.
То же самое касается для консолидации.js и всех модулей в этом example.


Некоторые причины, почему я заинтересован в узле + экспресс + пыль:
LinkedIn picks dustjs
Twitter's Bootstrap framework

ответ

2

Так вот трюк - я думал, что я разделю то, что я нашел.
Нужно найти этот самородок - найдите пыль-х на странице, если вам интересно. http://nodejs.debuggable.com/2012-03-23.txt

Чтобы разрешить эту проблему, в вашем экспрессе приложения

cd node_modules 
git clone git://github.com/laurie71/dust-x.git 
git clone https://github.com/caolan/dustjs.git 

развилки dust.js разрешающего вопрос require.paths с node.js
https://github.com/caolan/dustjs

'обертками' пыль делая его доступным в качестве механизма шаблонов
(Вам необходимо будет использовать пылесосы.)
https://github.com/laurie71/dust-x

Пример использования
https://gist.github.com/2174537

Наиболее важный бит:

var dustx = require('dust-x'); 

... 

// Configuration 

app.configure(function(){ 
    app.set('views', __dirname + '/views'); 
    app.register('.dust', dustx/*({})*/); 
    app.set('view engine', 'dust'); 
    // app.set('view engine', 'jade'); 
    app.use(express.bodyParser()); 
    app.use(express.methodOverride()); 
    app.use(app.router); 
    app.use(express['static'](__dirname + '/public')); 
}); 

Btw, я думаю, что я мог бы вручную установил dust.js вопрос внутри его server.js, но я хотел бы дать престижность к человеку, который фактически разветвил dust.js и сделал решение общедоступным.


PS: Я все еще достаточно новое для размещения на StackOverflow, так что, если я нарушил какой-то этикет, просто дайте мне знать. Я читал в FAQ, чтобы отвечать на ваши вопросы, поэтому я решил попробовать.

В частности, я знаю, что мое форматирование, вероятно, слабое. В ответе я предпочел показывать полную ссылку, а не предлагаемую ссылку на URL-адрес руководства, поскольку она показывает структуру содержащихся сайтов. С URL сайта, впитанным в ваш мозг, это дает вам больше возможностей для сайта в качестве ссылки в следующем раунде. Также URL-адреса были достаточно короткими. ; ^) Предложения с благодарностью.

Каким образом «консоль» обычно отформатирована? Как код?

4

Я как-то обсуждал вопрос о настройке Dust.js с [email protected] на Node.js 0.6.x через модуль consolidate.js. Вы можете read it here

Однако, вы можете использовать LinkedIn's fork of Dust.js, что поддерживает Node.js 0.6.x из коробки с другими улучшениями.

Consolidate.js уже поддерживает эту вилку, но для работы вам все еще нужно [email protected].

2

Это может быть проблема с версиями node.js и express.js. Я использую node v0.10.9 и express v3.0.x, и они работают хорошо для меня. Для интеграции dust.js с express.js и Node.js, я нашел это GitHub репо, чтобы быть полезным ресурсом, чтобы помочь вам начать работу с: https://github.com/chovy/express-template-demo (Он использует щ э ю вилку dust.js)

Смежные вопросы