Пытаюсь переписать свой сайт (Pug + Express) на Sapper (sveltejs). Я новичок в sveltejs, так что прошу прощения, если мой вопрос может показаться действительно наивным.
У меня есть файл template.json, содержащий все статические данные моего сайта. В версии expressjs я делаю const template = require('template.json') и визуализирую страницу с использованием шаблона мопса примерно так

router.get('/:pageName', function(req, res, next) {
  res.render('pages/About', {template: template})

Что было бы эквивалентной версией достижения этого в sveltejs / sapper? Пока что я сделал import template from 'template.json' в файле app/server.js. Тогда что? Поскольку sapper-template использует польку вместо экспресс, я не понимаю, как это получить правильно. Любые предложения?

1
anoop chandran 15 Апр 2018 в 00:14

1 ответ

Лучший ответ

Вы поместите эти данные на страницы (т.е. компоненты в routes), которые их используют:

<!-- routes/index.html -->
<h1>{{title}}</h1>

<script>
  import data from './_template.json';

  export default {
    data() {
      return {
        title: data.title
      };
    }
  };
</script>

Обратите внимание, что я добавил подчеркивание к _template.json, чтобы скрыть файл от маршрутизатора - вы также можете просто поместить файл JSON вне каталога routes.

Вы можете использовать Express вместо Polka; просто npm install express и замените каждое вхождение polka в app/server.js на express.

5
Rich Harris 14 Апр 2018 в 21:57