私は間違いなくgoogleのライブラリを読み込んでいますが、私は'google' not defined
を取得しています(少なくとも私はchromeの開発ツールから見ています)。es6/reactのある外部ライブラリは '定義されていません'
私は非常に単純なフロントエンドのWebページのgoogle places apiをヒットしようとしています。フロントエンドのWeb開発者(リアクションを含む)の学習では、基本的にnpmを使用する方法と、すべてをインポートする方法を学びましたが、外部ライブラリを使用すると困っています。
私は
<script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?key=AIzaSyBq8oeYyntc6d0JP5iaqMtPMTBhxiItdJw&libraries=places"></script>
が、今は私がこの
ようReactDOM.render(...)
前に私のindex.jsで
little-loaderを使用しようとしている私のindex.htmlで、この経由してGoogleプレイスのライブラリをロードすることができるはずです
import LittleLoader from 'little-loader';
LittleLoader(
"https://maps.googleapis.com/maps/api/js?key=AIzaSyBq8oeYyntc6d0JP5iaqMtPMTBhxiItdJw&libraries=places",
function (err) {
console.log("hi paul!");
// This is just to check I *have* the google library loaded/working
var pyrmont = new google.maps.LatLng(-33.8665433,151.1956316);
});
オンラインのすべての例は、これが(タグ付きで、または少なくともリトルローダーのコールバックで)機能するはずです。しかし、私が何をしても、私は./src/index.js Line 14: 'google' is not defined no-undef
になります。私はを実行する私はちょうどgoogle
をコンソールに入力すれば、chrome devのコンソール - >ソースのgoogle mapsライブラリを参照してオブジェクトを取得します。
だから私の通常のJavaScriptでGoogleのライブラリを使用するにはどうすればいいですか?私の最高の推測は、どういうわけか、ロードを延期/非同期にしているが、その使用にsetTimeoutを設定すると、google.maps.LatLng...
は役に立ちません。
私はこのフロントエンドの開発の世界を理解しようとしています。私はES6 jsの考え方で少し失われています。私はこれが簡単だと確信していますが、私は苦労しています!
よろしくお願いします。したがって、それ自身のための独自の非同期初期化を持っています。ユニットコールバックを使用すると、ライブラリの他の用途はユーザに応答するので、ライブラリはそれまでに設定されています。それは理にかなっている。本当にありがとう。私は次のコンピュータに行くときにこれを試してみる。質問tho、第三者libを使用するための一般的なベストプラクティスは何ですか? index.htmlのスクリプトタグを使用し、libはグローバルスコープで「うまくいく」べきですか?このような非同期ライブラリについては、init関数を作成するこのパターンがベストプラクティスですか? – mgs
@mgs - ライブラリに独自の非同期初期設定(Googleマップと同じように)がある場合は、コールバックまたは使用準備ができたことを示す約束を提供する必要があります。ほとんどのライブラリには、非同期初期化のタイプはありませんが、通常はこれを表示しません。 – jfriend00
助けてくれてありがとう。私は機会を得るとそれを試してみると、私は何かトラブルがある場合私は戻って投稿する – mgs