2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

TypeORM+ServerlessFrameworkでおのれwebpackなmysqlエラー

Last updated at Posted at 2018-07-30

みなさんは気づきましたか。
あら便利カレンダーの日付と、記事の投稿日付がずれていることを...

さて、TypeORMネタです。

構成

  • ServerlessFramework
  • serverless-webpack
  • TypeORM

あたりを使ってTypeScriptなアプリケーションをAWS Lambda + API Gatewayな感じでデプロイしたいわけです。
これでデプロイするとMySQLドライバーがありません!くそしてねろ!みたいなことを言われます。
仕事なので寝てるわけにはいきません。

依存 of 依存をキャッチできない問題

依存物内のランタイムでロードされるような依存物はwebpackでロードされません。
今回のエラーはそれに起因します。

このあたりのコードです。

if (name) {
  return require("mysql");
}

みたいなことがされてます。
こうなるとmysqlをwebpackingできなくてくそして寝る羽目になります。

解決策

これはserverless-webpackで強制的にincludeすることで解決できます。

serverless.yml
custom:
  webpack:
    includeModules:
      forceInclude:
        - mysql

たったこれだけ。
知りませんでした。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?