結論
webpack.config.js
の externals
に以下のように追記します。
module.exports = { (省略) externals: { puppeteer: 'require("puppeteer")' }, (省略) };
具体的な現象
$ webpack Hash: 89a5cffe5c5fd346c8e6 Version: webpack 4.41.5 Time: 609ms Built at: 2020/01/05 20:16:20 (省略) ERROR in ./node_modules/puppeteer/lib/WebSocketTransport.js Module not found: Error: Can't resolve 'ws' in '/Users/FOOBAR/APP/node_modules/puppeteer/lib' @ ./node_modules/puppeteer/lib/WebSocketTransport.js 16:18-31 @ ./node_modules/puppeteer/lib/Launcher.js @ ./node_modules/puppeteer/lib/Puppeteer.js @ ./node_modules/puppeteer/index.js (省略)