更改JSON文件路径并从外部加载到内部

时间:2019-01-05 11:44:58

标签: node.js json amazon-web-services alexa-skills-kit alexa-skill

open source Amazon Alexa skill

2个JSON文件是外部的。如何在内部加载它们?

这些是文件:

  1. https://s3-us-west-2.amazonaws.com/ddg-skill/apl/styles.json
  2. https://s3-us-west-2.amazonaws.com/ddg-skill/apl/layouts.json

我尝试将module.exports cdn-path.js更改为'../',并将这两个JSON文件上传到名为apl的文件夹中的lambda。它没有加载文件,但是我在控制台中找不到错误代码。

cdn-path.js:

'use strict';

module.exports = 'https://s3-us-west-2.amazonaws.com/ddg-skill/';

这是如何在launch.js中加载外部文件的方法:源:${cdnPath}apl/layouts.json

const cdnPath = require('../helpers/cdn-path');
[...]
    document: {
      type: 'APL',
      version: '1.0',
      theme: 'dark',
      import: [
        {
          name: 'alexa-styles',
          version: '1.0.0-beta'
        },
        {
          name: 'alexa-layouts',
          version: '1.0.0-beta'
        },
        {
          name: 'layouts',
          version: '1.0.0',
          source: `${cdnPath}apl/layouts.json`
        },
        {
          name: 'styles',
          version: '1.0.0',
          source: `${cdnPath}apl/styles.json`
        }
      ]
[...]

1 个答案:

答案 0 :(得分:1)

如果我们认为这是您的代码结构:

lambda
  index.js
  apl/
    layout.json

然后,您需要从index.js调用

const data = require('./apl/layout')

console.log(data.layouts.ImageListItem.parameters)

这样做,您应该能够从lambda内部加载json文件。