【问题标题】:Cannot find module generated with “Ionic g provider”找不到使用“Ionic g provider”生成的模块
【发布时间】:2018-04-05 05:16:48
【问题描述】:

我在 Ionic CLI 中生成了一个提供程序,如下所示:

C:\Ionic\myApp>ionic g provider DataService

[OK] 生成了一个名为 DataService 的提供者!

但是,当我尝试将其导入 app.module.ts 时,如下所示:

import { HttpModule } from '@angular/http';
import { DataService } from '../providers/data-service';

我收到一个错误提示

找不到模块'../providers/data-service'

app.module.ts 位于 @src/app/app.module.ts 和路径 '../providers/data-service' 到数据服务从它的位置来看是正确的。

谁能建议我这里哪里出错了?

我正在尝试构建以下给出的练习:https://www.djamware.com/post/58fdf9f080aca7414e78a63a/ionic-3-and-angular-4-multi-level-accordion-menu-example

【问题讨论】:

    标签: angular ionic2 ionic3


    【解决方案1】:

    路径也应该包含文件名,不包括.ts

    import { DataServiceProvider } from '../providers/data-service/data-service';
    

    但通常ionic g 会为您执行此操作,除非您使用了--no-module 选项。

    【讨论】:

    • 感谢您的回复。当我尝试得到以下错误 > 消息时:'Module '"c:/Ionic/myApp/src/providers/data-service/data-service"' 没有导出成员 'DataService'。在:'14,10' 来源:'ts'
    • data-service.ts import { Injectable } from '@angular/core'; import { Http, Response } from '@angular/http'; import 'rxjs/add/operator/map'; /* Generated class for the DataServiceProvider provider. See https://angular.io/guide/dependency-injection for more info on providers and Angular DI. */ @Injectable() export class DataServiceProvider { constructor(public http: Http) { console.log('Hello DataServiceProvider Provider'); } getmenus(){ return this.http.get('assets/data/menus.json') .map((response:Response)=>response.json()); } }
    • 提供者的名字是DataServiceProvider。我用那个更新了我的答案。
    • DataServiceProvider 已经默认可用。我在步骤 1 中创建了一个名为“DataService”的提供程序,我应该导入它吗?
    猜你喜欢
    • 2016-09-29
    • 1970-01-01
    • 2018-09-18
    • 2018-01-08
    • 1970-01-01
    • 1970-01-01
    • 2019-02-15
    • 1970-01-01
    • 2019-12-22
    相关资源
    最近更新 更多