Невозможно импортировать лямбда-функцию модуля обработчика модуля aws в nodejs - PullRequest
0 голосов
/ 03 сентября 2018

Я продолжаю получать эту ошибку, и я не знаю, что ее вызывает.

У меня API, который на основе условия будет публиковать в другом API, но я получаю эту ошибку в моем API-интерфейсе.

Вот код ...

handler.js

'use strict';
const axios = require('axios');

module.exports.thumbnailWrapperAPI = (event, context, callback) => {


  const incomingData = JSON.parse(event.body);
  if(incomingData.source.includes('png') || incomingData.source.includes('jpg')){
    const newLocal = 'some endpoint...';
    // call image resizing API...
    axios.post(newLocal,{
      source: incomingData.source,
      target: incomingData.target,
      width: incomingData.width
    })
    .then(response => callback(null,response))
    .catch(error => callback(error))

  } else if(incomingData.source.includes('html')) {
    // handle HTML
  } else {
    //...
  };
};

serverless.yaml

service: thumbnailWrapperAPI 
provider:
  name: aws
  runtime: nodejs8.10
  region: eu-west-1

functions:
  thumbnailWrapperAPI:
    handler: handler.thumbnailWrapperAPI
    events:
      - http:
          path: generatethumbnail/
          method: post
          cors: true

Любой совет будет оценен.

СООБЩЕНИЕ ОБ ОШИБКЕ:

Unable to import module 'handler': Error
    at Function.Module._resolveFilename (module.js:547:15)
    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> (/var/task/handler.js:2:15)
    at Module._compile (module.js:652:30)
    at Object.Module._extensions..js (module.js:663:10)
    at Module.load (module.js:565:32)
    at tryModuleLoad (module.js:505:12)
    at Function.Module._load (module.js:497:3)

Ответы [ 3 ]

0 голосов
/ 12 марта 2019

Сообщение об ошибке не слишком помогает, но я обнаружил, что это сообщение часто вызывается потерянным пакетом npm. Если вы протестируете лямбду в консоли AWS, вы сможете увидеть конкретные детали.

0 голосов
/ 15 мая 2019

Вы также получите эту ошибку, если вам требуется модуль или файл, используя неправильный путь. Другими словами, требуется модуль / файл, который не существует.

Это может быть пользовательский модуль или npm.

Пожалуйста, проверьте все пути импорта вашего модуля и убедитесь, что они точные.

0 голосов
/ 03 сентября 2018

Хорошо, я решил это, удалив мой package.json, затем добавив его снова и установив NOT как dev-зависимости моих пакетов, и это сработало.

...