ライブラリの依存関係を管理するためにrequire.jsを使用します。開発中は、個々のJSファイルからコードをロードしますが、本番ビルドは単一のJSファイルに最適化されます。
現在、外部JSライブラリを動的にロードしようとしています。で新しいライブラリを追加して使用しようとしていrequire.config
ます:
require.config({paths:{ "d3":"https://cdnjs.cloudflare.com/ajax/libs/d3/4.13.0/d3.min" }})
require(['d3'], function(d3) { console.log("Works!") })
最適化されていないビルドでは期待どおりに機能します。ただし、最適化されたビルドでは、エラーが発生します。
Uncaught Error: undefined missing d3
最適化されたものは、最適化されていないライブラリとはどういうわけか異なる必要があるようです。最適化されたビルドで動的構成と読み込みを機能させるにはどうすればよいですか?
本番ビルドで、ビルドスクリプトがrequire.jsをアーモンドに置き換えたことがわかりました。これは、外部ファイルの読み込みサポートを含まない単一ファイルビルドのrequire.js置換として意図されています。
アーモンドのエラーメッセージがもう少し冗長であるといいのですが、それを追跡するのに何時間もかかりました。
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加