2016-03-25 11 views
3

ブラウザコンソールで、Angular2でlocalStorageを使用しようとしたときに次のエラーが発生します。それは生成しているパスがnode_modulesを参照しているのではなく、自分のサイトルートにlocalstorage.jsがあると仮定しています(そこにはありません)。私はちょうどそれを正常に参照しています(私のuser.serviceの下を参照してください)、どうすればこの問題を回避できますか?私の他のすべての依存関係は正常に動作しています。Angular2依存性が正しいパスを挿入しない

読み込みエラー "のlocalStorage" としてhttp://localhost:3000/localStorage.jshttp://localhost:3000/client/dev/user/services/user.service.js

enter image description here

import { Injectable } from 'angular2/core'; 
import { Headers } from 'angular2/http'; 
import { loalStorage } from 'localStorage'; 

@Injectable() 
export class UserService { 
    private loggedIn = false; 

    constructor(private http: Http) { 
    this.loggedIn = !!localStorage.getItem('auth_token'); 
    } 

} 

NBから:私はのlocalStorageのインストールと実際の問題があるかのように、そこではないかなり確信してI npm list localStorageを実行すると、[email protected]がインストールされていることがわかります。

+0

あなたは本当にブラウザに組み込まれているもの用のライブラリをインストールしましたか? –

+0

@EricMartinezそうでなければ、 'localStorage.getItem( 'auth_token')'のようなコードをどのようにして動かすことができますか? –

+0

[MDNローカルストレージ](https://developer.mozilla.org/en-US/docs/Web/API/Window/localStorage) –

答えて

2

インポートからのlocalStorageを使用する場合は、後述のようにSystemJS以内にそれを設定する必要があります。

System.config({ 
    map: { 
    localStorage: 'node_modules/localStorage/lib/localStorage.js' 
    }, 
    (...) 
}); 

この方法で、あなたは以下のインポートを使用することができるようになります:

import loalStorage from 'localStorage'; 
それはLodashを設定するための方法と似ていますので、

は、詳細については、この質問を参照してください:

関連する問題