Когда хочется реализовать проект на современном javascript фреймворке появляется необходимость связать backend и frontend. Есть решение!
Существует готовый плагин, по нехитрому названию Nuxtober. Переходим по ссылке и делаем все по инструкции с некоторыми поправками.
Файл по пути: src/modules/october.js меняем на:
const fsExtra = require("fs-extra");
const path = require("path");
module.exports = function() {
this.nuxt.hook("generate:before", async nuxt => {
nuxt.distPath = (await process.cwd()) + "\\pages";
nuxt.distNuxtPath = (await process.cwd()) + "\\assets\\";
});
this.nuxt.hook("generate:distRemoved", async nuxt => {
await fsExtra.remove(nuxt.distNuxtPath);
const nojekyllPath = await path.resolve(nuxt.distPath, ".nojekyll");
await fsExtra.createFile(nojekyllPath);
});
this.nuxt.hook("generate:page", async ctx => {
let url = `url = "${ctx.route}"`;
let onStart = `function onStart() { $this['token'] = \\Session::token(); }`;
let divider = `==`;
ctx.html = `${url}\n${divider}\n${onStart}\n${divider}\n${
ctx.html
}`;
ctx.path = ctx.path.replace("html", "htm");
});
};
Мы убрали строчку которая выводит заголовок страницы title для бэкенда Октября. Сам заголовок meta title показывается верно. Если не править этот файл, то ругается на ${pageTitle[1]}.
Для того чтобы собрать статические файлы запускаем команду
npm run generate
Для разработки все также можем использовать
npm run dev
Опубликовано 5 апреля 2021 г. в категориях: October CMS NuxtJS
Если Вам необходимо внедрить данную разработку на свой проект, свяжитесь со мной, обсудим цену и срок.