新しいMeteor 1.3プロジェクトを設定していて、Auth0の統合に問題があります。私はチュートリアルhereに従っていますが、もっと複雑にするために、私はES2015モジュールとReactを使用していますので、私は翻訳しています。 meteor add auth0:lock
チュートリアルを実行した後Meteor 1.3のReactコンポーネントへのAuth0ロックのインポート
は、私は、クライアント上で次のJSの実行をしなければならないと言う:
Template.Auth0Login.events({
'click button.login'(event, instance) {
lock.show();
},
}
だから私のapp/imports/ui/components/Navbar.jsx
ファイルは次のようになります。
1| import React, {Component} from 'react';
2|
3| export default class Navbar extends Component {
4| render() {
5| return (
6| <button class='signin' onClick={lock.show()}>Sign In</button>
7| )
8| }
9| }
レンダリングされたページが空白である、と次のコンソールエラー:
Uncaught TypeError: Cannot read property 'show' of undefined
onClick={lock.show()}
を削除すると、ボタンが表示されます。それは意味をなさない - どのように "ロック"がそれをインポートせずにあるかを知ることができますか?だから私はAuth0 React tutorialのインポート行を見つけ、それを落とし、次のコンソールエラーの原因となっ
1| import React, {Component} from 'react';
2| import Auth0Lock from 'auth0-lock';
3|
4| export default class Navbar extends Component {
5| ...
:
Uncaught Error: Cannot find module 'auth0-lock'
私はauth0:lock
エン代わり流星パッケージのにインポートされたモジュールの名前を変更しようとしました、無駄に。
ロックを特定のReactコンポーネントにインポートしてこれらの関数を使用する方法を知っている人はいますか?それとも別の方法がありますか?
ありがとうございました!
お返事ありがとうございます。私はこの方向に興奮していますが、私はES2015のインポートを使用しているので、新しいエラーが発生します: 'Uncaught ReferenceError:Auth0Lockが定義されていません。 'したがってReactコンポーネントファイルの適切なインポート行を見つけ出す必要があると思われます。私は 'auth0-lock 'から' import Auth0Lockを試しました; '、' auth0:lock''から 'import Auth0Lock'、' Auth0Lock'から 'import Auth0Lock ';'のどれも成功しませんでした。何か案は?再度、感謝します! –
こんにちは。 'Auth0-lock 'からのAuth0Lockのインポート; ES2015インポートではうまく動作します。流星でどんなパッケージマネージャーを使用していますか? Auth0Lockがあなたのプロジェクトの宣言された依存関係になっていますか?あなたはReactを使っているので、[auth0-react-lock](https://www.npmjs.com/package/auth0-react-lock)も見ることができます – vwrobel
私は流星と大気に精通していないので、私は私の入力があなたのものであるかどうかは分かりません。あなたのプロジェクトに[この1つ](https://github.com/auth0/meteor-auth0/blob/master/examples/auth0-meteor-sample/.meteor/packages)のような「パッケージ」ファイルがありますか? – vwrobel