Angular6でcryptoモジュールをバンドルする方法

Error: Can’t resolve ‘crypto’

リンク先はweb3で使われるcryptoモジュールをAngular6でうまくバンドルできない例ですが、nem-libraryでも起こります。

対処法の簡単なメモ。

node_modules/@angular-devkit/build-angular/src/angular-cli-files/models/webpack-configs/browser.jsにて。


node: false

node: {
  fs: 'empty',
  global: true,
  crypto: 'empty',
  tls: 'empty',
  net: 'empty',
  process: true,
  module: false,
  clearImmediate: false,
  setImmediate: false
}

に書き換えればいい。