AWS лямбда: не удается найти модуль 'строка-сходство' - PullRequest
0 голосов
/ 01 декабря 2018

Я пытаюсь сделать свой первый навык для Алексы, и я использую лямбда-aws для логики, моя проблема в том, что когда я запускаю тест, он возвращает мне:

{
  "errorMessage": "Cannot find module 'string-similarity'",
  "errorType": "Error",
  "stackTrace": [
    "Function.Module._load (module.js:474:25)",
    "Module.require (module.js:596:17)",
    "require (internal/module.js:11:18)",
    "Object.<anonymous> (/var/task/index.js:3:24)",
    "Module._compile (module.js:652:30)",
    "Object.Module._extensions..js (module.js:663:10)",
    "Module.load (module.js:565:32)",
    "tryModuleLoad (module.js:505:12)",
    "Function.Module._load (module.js:497:3)"
  ]
}

Мне нужна строка-схожесть для сравнения двух строк, но я не понимаю, как установить его в лямбду.

это мой package.json

{
  "name": "test",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [
    "alexa",
    "skill"
  ],
  "author": "",
  "license": "",
  "dependencies": {
    "ask-sdk": "^2.0.0",
    "string-similarity": "^1.2.0",
    "i18next": "^10.6.0",
    "i18next-sprintf-postprocessor": "^0.2.2"
  }
}

и поэтому я вызываю пакет в index.js

'use strict';
const Alexa = require('ask-sdk');
var stringSimilarity = require('string-similarity');
...

как я могу решить эту ошибку

спасибо за вашу помощь и извините за мой английский, но я не являюсь носителем языка.

1 Ответ

0 голосов
/ 07 декабря 2018

Вы получаете эту ошибку, потому что вы используете ' string-Similarity ', но вы не установили его в своем проекте, поэтому он выдает «errorMessage»: «Cannot find module» string-Similarity '".

Вы не можете добавлять Модули узлов непосредственно в функцию Lambda.Если вам нужно использовать внешние модули / библиотеки, вам нужно, чтобы ваш проект находился на локальной машине, чтобы вы могли npm установить необходимые модули и затем загрузить .ZIP-файл вашего проекта в функции лямбда-функции. Подробнее ЗДЕСЬ .

В качестве альтернативы вы можете использовать ASK CLI , чтобы написать свой код в каком-либо редакторе по вашему выбору и развернуть функцию lambda с помощью простой команды.

...