해당 코드를 참고하여 mysql2 라이브러리를 사용했기때문에 아래와 같은 코드를 추가 하였습니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
{ plugins: [ new webpack.NormalModuleReplacementPlugin(/\.\.migrate/, '../util/noop.js'), new webpack.NormalModuleReplacementPlugin(/\.\.seed/, '../util/noop.js'), new webpack.IgnorePlugin(/mariasql/, /knex/), new webpack.IgnorePlugin(/mysql/, /knex/), new webpack.IgnorePlugin(/mssql/, /knex/), new webpack.IgnorePlugin(/oracle/, /knex/), new webpack.IgnorePlugin(/oracledb/, /knex/), new webpack.IgnorePlugin(/postgres/, /knex/), new webpack.IgnorePlugin(/redshift/, /knex/), new webpack.IgnorePlugin(/pg-query-stream/, /knex/), new webpack.IgnorePlugin(/sqlite3/, /knex/), new webpack.IgnorePlugin(/strong-oracle/, /knex/), new webpack.IgnorePlugin(/pg-native/, /pg/) ] }
빌드는 성공 했으나 정상 동작하지 않아 확인 해보니 /node_modules/knex/lib/mysql2/index.js 해당 파일에
이러한 코드가 있어서 결국 mysql2를 쓰더라도 mysql 라이브러리가 필요하였습니다.
굳이 mysql2 모듈을 고집 할 필요가 없을것 같아, mysql 모듈로 변경하고,
new webpack.IgnorePlugin(/mysql/, /knex/) 를 new webpack.IgnorePlugin(/mysql2/, /knex/), 로 변경하니 빌드도 성공하였으며, 정상 동작 하였습니다.