Html-react-parser: index.mjsがデフォルトのインポートを台無しにする

作成日 2021年04月02日  ·  7コメント  ·  ソース: remarkablemark/html-react-parser

デフォルトのエクスポートが見つかりません。 この問題は、 index.mjsが追加されてから発生し始めました。 インストールされたパッケージからこのファイルを削除または名前変更すると、正常にビルドされます。 戻すと、再びこれらの警告が表示されます。

たぶん、私たちのWebPACKの設定を拾っているindex.mjsの賛成でindex.jsが、それは、いけない私は明示的にだけ見つけるためにそれを言っているから.js.jsx babel-loader構成の

最後の既知の動作バージョンは1.1.2です。 適切な修正が利用可能になるまでダウングレードを行うのが最も信頼できる方法のように思われるため、当面はダウングレードします。

予想される行動

ビルドOK、警告なし。

実際の動作

このパッケージが使用されているすべての場所での警告:

export 'default' (imported as 'parse') was not found in 'html-react-parser'

再現する手順

このようにインポートするだけです:

import parse from 'html-react-parser';

回避策は、次のようにインポートすることです。

import * as parse from 'html-react-parser';

これは絶対にうまくいきます。 しかし、前者の表記法はドキュメントにあるので、私はそれが意図されている方法であると思います。 したがって、後者の形式が回避策である理由-解決策ではありません。

再現可能なデモ

申し訳ありませんが、これは非常に複雑なプロジェクトです。これができるかどうかはわかりません。 それが本当に本当に本当に必要な場合、私はそれを試してみることができますが、正直なところ、この問題はすでに私に多くの時間を費やしています😞

環境

  • バージョン:1.2.4
  • プラットフォーム:Windows 10
  • ブラウザ:Firefox 89

全てのコメント7件

@thanyの問題について聞いて申し訳ありません。

回避策として、 webpack構成を構成できますか?

おかげで、イースターの後にやってみます。

それがトリックでした! 😀

将来の参考のために、私は以下のために行かなければなりませんでした:

resolve: {
  // ...
  mainFields: ['main', 'module'],
}

私たちの場合、ブラウザに送られる通常のものではなく、SSRの目的でモジュールにビルドされるためです。

今、私はまだ疑問に思います。 これは解決策ですか、それとも単なる回避策ですか? これでも適切な解決策が必要かどうか、または上記が実際の適切な解決策であるかどうかはわかりません。

これまでのところ、 index.mjs変更に関して多くの問題は発生していません(実際に何かを壊した場合を除く)。 これは、より複雑なwebpack構成を持つユーザーにとっての回避策だと思います。

十分に公平であるなら、これを適切な解決策と考えましょう。

@thanyはこれをREADME.mdますか? そして、この問題を解決するのは良いことですか?

はい、それは役立つかもしれません。 閉じてよかった👍🏻

このページは役に立ちましたか?
0 / 5 - 0 評価