找不到模块./in-memory-data.service Angular2

时间:2016-10-21 19:09:23

标签: angular

我正在关注Angular 2 Tutorial(英雄之旅),但我无法完成关于http的第7个教程,它使用angular-in-memory-web-api模拟web api。一切都与教程中给出的完全一致。 我仍然得到这个错误。我使用Visual Studio作为我的编辑器。 以下Statckoverflow类似但它没有帮助,因为它是'in-memory-data.service Angular2'的旧版本

Angular2 Tutorial (Tour of Heroes): Cannot find module 'angular2-in-memory-web-api'

找不到模块./in-memory-data.service Angular2

以下是相关的package.json详细信息:

    def outer(msg):
      def inner(msg):
        return inner()
    outer("hi")

2 个答案:

答案 0 :(得分:1)

  

找不到模块 ./in-memory-data.service Angular2错误说:它无法找到 in-memory-data.service.ts 文件(应该在app文件夹中)。所以你需要创建它我想你的情况就不见了。

答案 1 :(得分:0)

这个other question有答案(至少解决了我的问题)

您需要更改systemjs.config.js文件中的一些内容: 从

'angular-in-memory-web-api': 'npm:angular-in-memory-web-api',

'angular-in-memory-web-api': 'npm:angular-in-memory-web-api/bundles/in-memory-web-api.umd.js',

并删除底部的此部分:

'angular-in-memory-web-api': {
    main: './index.js',
    defaultExtension: 'js'
  }

这样做不是引用可读的js代码,而是引用缩小和丑化的代码。我认为有一些代码(或评论)打破了在缩小/丑化时被删除的东西。

啊!不要忘记更新app.module.ts文件中的导入以使用

import { InMemoryDataService }  from './in-memory-data.service';

删除旧的导入,因为这是导致错误的原因。