离子未捕获错误:找不到模块“。”导入服务提供商时

时间:2018-06-25 03:06:39

标签: javascript typescript ionic-framework webpack ionic3

我正在尝试导入一个新的服务提供商,该服务提供商是在从离子应用程序的最新分支中提取后创建的。

当我尝试导入以下代码行时:

import { AuthServiceProvider } from '../providers/auth-service'

app.module.ts 中,我总是收到一个错误消息:

Uncaught Error: Cannot find module "."
    at webpackMissingModule (index.js:3)
    at e.code (index.js:3)
    at Object.<anonymous> (index.js:9)
    at __webpack_require__ (bootstrap 62d6a5897825ac327001:54)
    at Object.690 (slide.transition.ts:67)
    at __webpack_require__ (bootstrap 62d6a5897825ac327001:54)
    at Object.495 (main.js:1885)
    at __webpack_require__ (bootstrap 62d6a5897825ac327001:54)
    at Object.487 (notification-api.ts:6)
    at __webpack_require__ (bootstrap 62d6a5897825ac327001:54)

但是请注意,我也正在从提供商那里导入另一个运行良好的服务。

这是我的 auth-service.ts 的代码。

import { HttpClient } from '@angular/common/http';
import { Injectable } from '@angular/core';
import { Events } from 'ionic-angular/umd';

/*
  Generated class for the AuthServiceProvider provider.

  See https://angular.io/guide/dependency-injection for more info on providers
  and Angular DI.
*/
@Injectable()
export class AuthServiceProvider {

  public isLoggedIn = false;

  constructor(
    public http: HttpClient,
    private events: Events
  ) {
    console.log('Hello AuthServiceProvider Provider');

    events.subscribe('user:logged-in', (user) => {
      this.isLoggedIn = true;
      console.log('Welcome', user);
    });
  }

}

我不会在我的 app.module.ts 中显示我的代码,因为它被导入插件和其他提供程序轰炸

这是我的离子信息

cli packages: (/usr/lib/node_modules)

@ionic/cli-utils  : 1.19.2
ionic (Ionic CLI) : 3.20.0

全局软件包:

cordova (Cordova CLI) : 8.0.0 

本地软件包:

@ionic/app-scripts : 3.1.8
Cordova Platforms  : android 6.3.0 browser 5.0.3
Ionic Framework    : ionic-angular 3.9.2

系统:

Android SDK Tools : 26.1.1
Node              : v6.12.2
npm               : 4.6.1 
OS                : Linux 4.13

环境变量:

ANDROID_HOME : /home/clifford/Android/Sdk

那么为什么我在该特定服务提供者与其他完全相同的提供者中有一个错误?

有什么想法吗?

感谢有人可以帮助您。 预先感谢。

2 个答案:

答案 0 :(得分:10)

我终于想通了解决问题的方法。当我从ionic-angular导入events时发生错误。

因此,而不是:import { Events } from 'ionic-angular/umd';

只需删除最后的 um 。我不知道为什么会这样,因为我正在从vs代码中使用自动导入。

答案 1 :(得分:0)

我将import { Events } from 'ionic-angular/umd';更改为import { Events } from 'ionic-angular';。我使用的是“打字稿”:“〜2.6.2”。我试图更改打字稿的版本,并且听说打字稿3.1在某些情况下可以解决。就我而言,一旦我超过打字稿2.8.0,我就开始遇到与离子相关的其他问题。最后,以上修复程序起作用了,我认为这更多是一个离子框架问题。