Изменить sails.js Представления EJS, чтобы использовать расширения .html вместо расширений .ejs?
-
21-12-2019 - |
Вопрос
Можно ли настроить sails.js приложения для использования .html
расширения, а не .ejs
(но все равно используйте ejs view engine
)?
sails new app
создает ./views/home/index.ejs
и ./views/layout.ejs
.
Я бы хотел изменить расширения на .html
но пусть все остальное работает по-прежнему.
т.е.:Теперь у меня было бы ./views/home/index.html
и ./views/layout.html
, и домашняя страница по-прежнему будет добавлена на страницу макета, как обычно.
Как я могу это настроить, пожалуйста?
Решение
В вашем config/views.js
:
engine: {
ext: 'html',
fn: require('ejs').renderFile
},
Однако, похоже, что будущая поддержка этой функции не гарантирована, поскольку они удалили ее из документации, поэтому используйте с осторожностью.
Другие советы
Другой подход
По умолчанию Sails предоставляет шаблоны EJS.Чтобы переопределить это и использовать html-файлы, вот простое решение.В вашем приложении Sails перейдите по ссылке config/routes.js.Там вы увидите следующий код
module.exports.routes = {
/***************************************************************************
* *
* Make the view located at `views/homepage.ejs` (or `views/homepage.jade`, *
* etc. depending on your default view engine) your home page. *
* *
* (Alternatively, remove this and add an `index.html` file in your *
* `assets` directory) *
* *
***************************************************************************/
'/': {
view: 'homepage'
}
/***************************************************************************
* *
* Custom routes here... *
* *
* If a request to a URL doesn't match any of the custom routes above, it *
* is matched against Sails route blueprints. See `config/blueprints.js` *
* for configuration options and examples. *
* *
***************************************************************************/
};
Удалите маршрут до '/', как показано ниже .Держите его пустым
Новый routes.js будет выглядеть как
module.exports.routes = {
//Remove '/' :)
};
Ладно!!!теперь, когда все готово, вы можете использовать свои HTML-файлы в приложении Sails.Поместите свой index.html в папку assets .Паруса теперь будут загружать виды отсюда :)
В последней версии sails.js 0.11 это также верно:
engine: 'ejs',
extension: 'html',
Чтобы проверить, как они это делают, в /node_modules/sails/lib/hooks/views/configure.js:
if (typeof sails.config.views.engine === 'string') {
var viewExt = sails.config.views.extension || sails.config.views.engine;
sails.config.views.engine = {
name: sails.config.views.engine,
ext: viewExt
};
}