Разверните экспресс api с помощью serverless-webpack.Ошибка импорта Sequelize - PullRequest
0 голосов
/ 07 июня 2018

Я пытаюсь развернуть свой проект в AWS Lambda с помощью serverless-webpack.Но я получил ошибку при импорте модели для продолжения.Вот журнал ошибок от AWS:

module initialization error: ReferenceError
at t.default (/var/task/app.js:1:8411)
at Sequelize.import(/var/task/node_modules/sequelize/lib/sequelize.js:398:32)

Мой файл serverless.yml:

service: backend-aquatru

plugins:
  - serverless-webpack
  - serverless-offline
  - serverless-dotenv-plugin

custom:
  webpackIncludeModules:
    forceInclude:
      - pg
      - pg-hstore
  webpackConfig: 'webpack.config.js'
  includeModules: true   
  packager: 'npm'   
provider:
 name: aws
 runtime: nodejs8.10
 stage: dev
 region: us-west-1

functions:
  app:
    handler: app.handler
    events:
     - http: 'ANY /'
     - http: 'ANY {proxy+}'

webpack.config.js

const path = require('path')
const Dotenv = require('dotenv-webpack')

module.exports = {
  entry: './app.js',
  target: 'node',
  externals: [nodeExternals()],

  output: {
    libraryTarget: 'commonjs',
    path: path.resolve(__dirname, '.webpack'),
    filename: 'app.js', // this should match the first part of function handler in serverless.yml
  },
  plugins: [
    new Dotenv(),
  ],
  module: {
    rules: [
      {
        test: /\.js$/,
        exclude: /node_modules/,
        include: __dirname,
        loaders: ['babel-loader'],
      },
    ],
  },
}

И моя модель импорта продолжения:

  import {sequelize as dbConfig} from '../config/vars'
import Sequelize from 'sequelize';

const db = {
  Sequelize,
  sequelize: new Sequelize(dbConfig.makeUri(), {
    operatorsAliases: Sequelize.Op,
    dialect: dbConfig.dialect
  }),
};

// require each model from every endpoint with sequelize
db.User = db.sequelize.import('User', require('../api/models/user.model'));

// run associations from every model here

Object.keys(db).forEach((modelName) => {
  if ('associate' in db[modelName]) {
    db[modelName].associate(db);
  }
});

export const User = db.User;
export default db;

Я видел проблему с serverless-webpack при импорте файлов модели с require и таким образом модифицировал мой код.Но это не помогает.Вот ссылка на обсуждение.[введите описание ссылки здесь] [выпуск]

...