javascript - 如何访问 sapper/polka 中所有 svelte 组件的 json 数据文件

标签 javascript json express svelte

我正在尝试用 Sapper(sveltejs) 重写我的网站 (Pug+Express)。我是 sveltejs 的初学者,如果我的问题可能真的很幼稚,请原谅。
我有一个 template.json 文件,其中包含我网站的所有静态数据。在 expressjs 版本中,我执行 const template = require('template.json') 并使用类似这样的 pug 模板呈现页面

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

在 sveltejs/sapper 中实现此功能的等效版本是什么? 到目前为止,我在 app/server.js 文件中做了一个 import template from 'template.json' 。 然后呢?自 sapper-template正在使用 polka 而不是 express,我很困惑如何正确使用它。有什么建议吗?

最佳答案

您将该数据放入使用它的页面(即 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 并将 app/server.js 中出现的所有 polka 替换为 express

关于javascript - 如何访问 sapper/polka 中所有 svelte 组件的 json 数据文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49836266/

相关文章:

java - 使用 Play Framework 和 Java 解析 Json 数组

java - 无法从 URLConnection 获取 JSON 响应

javascript - Express 中的 router.METHOD() 和 router.route() 方法有什么区别

javascript - 在 Node JS 应用程序中实现单例 mongoDB DB 对象

javascript - 无法禁用/覆盖上下文菜单 Safari 全屏模式

javascript - 点击 nav-element loads/includes new content/file.php into div id ="include"

android - ArrayAdapter 的 getView() 没有被调用

javascript - 如何使用购物车收藏

javascript - 固定位置高度按百分比大于浏览器窗口

javascript - 将 Jquery/html 变量链接到 javascript