/ / sails.js: използване на прах в платната 0.10.5 - sails.js, dust.js

sails.js: използване на прах в платна 0.10.5 - sails.js, dust.js

Опитвам се да мигрирам проект от 0.9.9 до 0.10.5

Използвахме двигател за прахови шаблони в нашия porject вместо стандартния ejs двигател.

Съдържание на файла config / views.js

module.exports.views = {
engine: "dust",
layout: "layout"
};

В моя контролер успях да направя такава гледка

res.view("layout", obj);

Обаче, в платната 0.10.5, когато вдигам платна, преди всичко получавам това предупреждение

warn: Sails" built-in layout support only works with the `ejs` view engine.
warn: You"re using `dust`.
warn: Ignoring `sails.config.views.layout`...

И тогава, когато се опитам да визуализирам изгледа, както правех по-рано, получавам следната грешка:

error: Sending 500 ("Server Error") response:
Error: ENOENT, open "/.dust"

{ [Error: ENOENT, open "/.dust"] errno: 34, code: "ENOENT", path: "/.dust" }

Всяка идея какъв е правилният начин да се направи това в 0.10.5?

Отговори:

1 за отговор № 1

Най- layout не се отнася за прах (само ejs). Задайте оформление на false за да получите предупреждение, за да изчезне. Искате да използвате вградената поддръжка на Dust за частици и блокове.

Използвайки res.view("layout", obj); означава, че очаквате файл, наречен views/layout.dust да съществува. Преди 0.10, ветрилата бяха включени layout от config / views.js като част от пътя.

Така че най-доброто ми предположение е, че твоята res.view() повикването всъщност се извиква с празен низ като първи параметър и не се счупи, защото се опитвате да направите нещо, наречено layout, Проверявам извикването ви, за да се уверите, че се обаждате res.view() с инстанцирана променлива.