我在亚马逊技能商店有一个alexa技能.该技能的交互模型是使用alexa开发门户的技能构建者开发的,并且lambda函数是单独上传的.技能是实时的,有很多用户.
最近我觉得有必要对这项技能做一些改变.从现在开始我使用ask-cli进行所有alexa技能开发,我决定也使用相同的技能.
以下是我遵循的步骤:
克隆了alexa控制台中的技能,使用命令问克隆并选择我想要进行更改的技能.
对技能进行了必要的修改.刚刚改变了回应,没什么特别的.
但是我收到以下错误:
[Error]: Building skill schema failed
Run Code Online (Sandbox Code Playgroud)
我认为我所做的更改可能是它的原因,所以我回溯了更改并使代码成为克隆时的代码.然后我尝试再次部署代码,但错误保持不变.
我在亚马逊门户网站上找到了一些答案,这是其他问题的最常见原因,在技能图标URI的URI中存在一些错误.可以肯定的是,我还从skill.json中删除了该行,并尝试再次部署它,但没有任何改变.
有没有人知道上述问题的原因?
我正在运行摩卡测试,最近又升级到Ask-CLI的最新版本。我再次运行测试,现在收到此模块错误。我已经npm安装src和utils无济于事。从我读过的内容来看,模块别名可能不支持@src路径。
我正在调用此命令:
$ ask api simulate-skill -l en-US -t "start my day" -s amzn1.ask.skill.XXXXXXXX-4156-4ca0-b14e-XXXXXXXXXXXX
Run Code Online (Sandbox Code Playgroud)
更新:这似乎是使用的ask-cli的问题
const CONSTANTS = require('@src/utils/constants');
@src应该找到节点程序包的源,但是我找不到的任何其他程序包中都没有使用此@src。所有其他软件包似乎都使用../../,所以很可能虽然module-alias找不到任何内容,但它不知道如何路由这种新语法
有谁知道这个新的@src语法,是否有一个npm模块来帮助路由它?
它适用于ask-cli 1.1.6,但我已升级到1.7.2以使用新功能。
Error: Cannot find module '@src/utils/constants'
at Function.Module._resolveFilename (module.js:547:15)
at Function.Module._resolveFilename (/Users/calebgates/WebstormProjects/AutomatedUtteranceTesting/node_modules/module-alias/index.js:49:29)
at Function.Module._load (module.js:474:25)
at Module.require (module.js:596:17)
at require (internal/module.js:11:18)
at Object.<anonymous> (/Users/calebgates/WebstormProjects/AutomatedUtteranceTesting/node_modules/ask-cli/lib/commands/init/index.js:1:81)
at Module._compile (module.js:652:30)
at Module.replacementCompile (/Users/calebgates/WebstormProjects/AutomatedUtteranceTesting/node_modules/nyc/node_modules/append-transform/index.js:58:13)
at module.exports (/Users/calebgates/WebstormProjects/AutomatedUtteranceTesting/node_modules/nyc/node_modules/default-require-extensions/js.js:8:9)
at Object.<anonymous> (/Users/calebgates/WebstormProjects/AutomatedUtteranceTesting/node_modules/nyc/node_modules/append-transform/index.js:62:4)
module.js:549
Run Code Online (Sandbox Code Playgroud) 在 JSON 清单文件中进行一些更改后,我尝试按照Amazon 文档更新它:
ask smapi update-skill-manifest -g development -s amzn1.ask.skill.xxxx --manifest "skillManifest.json" --debug
Run Code Online (Sandbox Code Playgroud)
该错误并未指出错误是什么,但我的猜测是它与参数有关,但这很奇怪,因为我正在遵循文档。
然后,我尝试捕获文件的内容,而不是传递 json 文件,这可能是:
对于 Powershell:--manifest "$(type skillmanifest.json)"
对于Linux:--manifest "$(cat skillmanifest.json)"
我仍然不断收到同样的错误。