OctoberCms + Nuxt.js

Когда хочется реализовать проект на современном 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

Если Вам необходимо внедрить данную разработку на свой проект, свяжитесь со мной, обсудим цену и срок.

Связаться со мной Fill 1