Опитвам се да мигрирам проект от 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()
с инстанцирана променлива.