узел без обслуживания 8.10 babel-runtime - PullRequest
0 голосов
/ 13 мая 2018

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

{
    "errorMessage": "Cannot find module 'babel-runtime/helpers/typeof'",
    "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/src/functions/mobile/register.js:341:18)",
        "__webpack_require__ (/var/task/src/functions/mobile/register.js:20:30)",
        "Object.<anonymous> (/var/task/src/functions/mobile/register.js:265:16)",
        "__webpack_require__ (/var/task/src/functions/mobile/register.js:20:30)",
        "Object.<anonymous> (/var/task/src/functions/mobile/register.js:77:24)",
        "__webpack_require__ (/var/task/src/functions/mobile/register.js:20:30)"
    ]
}

- обновить Я больше не получаю эту ошибку. Однако я продолжаю получать сообщение «Не удается найти ошибки модуля X при развертывании в aws»

Мои минус-функции без сервера:

service: my-api
provider:
  name: aws
  runtime: nodejs8.10
  stage: ${opt:stage, 'local'}
  region: us-west-2
  role: 
  timeout: 30
  environment:
    STAGE: ${self:provider.stage}
  apiKeys: 
    - apiKey-${opt:stage, 'local'}
  vpc:
 # removed for security
custom:
  webpackIncludeModules:
    packagePath: './package.json'

functions:
  # Mobile Login
package: 
  exclude:
    - .gitignore
    - .git/**
    - .vscode/**
plugins:
  - serverless-offline
  - serverless-webpack

и наконец мой код веб-пакета

const nodeExternals = require('webpack-node-externals');
const slsw = require('serverless-webpack');
module.exports = {
    entry: slsw.lib.entries,
    target: 'node',
    externals: [nodeExternals()],
    node: {
        __dirname: false,
        __filename: false
    },
    devtool: 'inline-source-map',
    module: {
        loaders: [{
            test: /\.js$/,
            loaders: ['babel-loader'],
            include: __dirname,
        }]
    }
};

обновление: у меня есть модули верхнего уровня, но их подмодули не включены.

Обновление:

{
    "errorMessage": "Cannot find module 'underscore'",
    "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/node_modules/promisified-request/promisified-request.js:4:9)",
        "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)"
    ]
}

1 Ответ

0 голосов
/ 14 мая 2018

Я в конечном итоге получил это, добавив это в мой сервер.

custom:
  webpackIncludeModules:
    forceInclude:
      - request
      - underscore

Возможно, есть более чистый путь, но это решило его для меня.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...