Angular2依赖项未注入正确的路径

时间:2016-03-25 09:48:37

标签: javascript node.js angular

我在浏览器控制台中遇到以下错误,尝试将localStorage与Angular2一起使用。它似乎生成的路径似乎不是指node_modules,而是假设我的站点根目录中存在localstorage.js(没有)。我只是正常提到它(请参阅下面的user.service),那么我该如何解决这个问题呢?我所有的其他依赖项都运行正常。

  

http://localhost:3000/localStorage.js

加载http://localhost:3000/client/dev/user/services/user.service.js为“localStorage”时出错

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');
  }

}

注意:我很确定localStorage安装没有实际问题,就像我运行npm list localStorage一样,然后它告诉我localStorage@1.0.3已经安装了。

1 个答案:

答案 0 :(得分:2)

如果要从导入中使用localStorage,则需要在SystemJS中对其进行配置,如下所述:

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

这样,您就可以使用以下导入:

import loalStorage from 'localStorage';

有关详细信息,请参阅此问题,因为它与配置Lodash的方式类似: