Help us understand the problem. What is going on with this article?

Angular 10でCommonJS形式のモジュールを読み込んだ際に起きる警告の対処法

概要

Angular 10からCommonJS形式のモジュールを読み込むと警告が表示されるようになりました。
lodashのv4.17.19などを読み込んでみると再現できるかと思います。

解決策その1

理想的な解決方法はESM形式に切り替えることです。
先ほど例に挙げたlodashならlodash-esというESM形式のライブラリがリリースされてます。

解決策その2

とはいえすべてのライブラリがESM形式もリリースされているわけではありません。
その場合はangular.jsonでCommonJS形式でも許可するライブラリを指定することで警告を抑えることができます。
ただしあくまで警告を抑えるだけなのでビルド時の最適化などがされるわけではないようです。

"build": {
  "builder": "@angular-devkit/build-angular:browser",
  "options": {
     "allowedCommonJsDependencies": [
        "lodash"
     ]
     ...
   }
   ...
},

参考リンク

https://blog.angular.io/version-10-of-angular-now-available-78960babd41
https://angular.io/guide/build#configuring-commonjs-dependencies

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした