相关疑难解决方法(0)

Angular DI错误 - EXCEPTION:无法解析所有参数

我在Angular中构建了一个基本的应用程序,但是我遇到了一个奇怪的问题,我不能将服务注入到我的一个组件中.它注入了我创建的其他三个组件中的任何一个.

首先,这是服务:

import { Injectable } from '@angular/core';

@Injectable()
export class MobileService {
  screenWidth: number;
  screenHeight: number;

  constructor() {
    this.screenWidth = window.outerWidth;
    this.screenHeight = window.outerHeight;

    window.addEventListener("resize", this.onWindowResize.bind(this) )
  }

  onWindowResize(ev: Event) {
    var win = (ev.currentTarget as Window);
    this.screenWidth = win.outerWidth;
    this.screenHeight = win.outerHeight;
  }

}
Run Code Online (Sandbox Code Playgroud)

它拒绝使用的组件:

import { Component, } from '@angular/core';
import { NgClass } from '@angular/common';
import { ROUTER_DIRECTIVES } from '@angular/router';

import {MobileService} from '../';

@Component({
  moduleId: module.id,
  selector: 'pm-header',
  templateUrl: 'header.component.html',
  styleUrls: ['header.component.css'],
  directives: [ROUTER_DIRECTIVES, …
Run Code Online (Sandbox Code Playgroud)

angular2-di angular

389
推荐指数
16
解决办法
30万
查看次数

index.d.ts 与普通类型文件?

如果我想要一个地方来定义项目其余部分可以访问的类型,我应该使用index.d.ts还是像任何其他.ts文件一样定义?

目前,我有一个文件夹,<root>/src/types/index.ts这样的作品,它编译成<root>/dist,其中<root>包含了package.jsontsconfig.json等我想知道,这是正常的做法,或者我应该定义index.d.ts。我不确定index.d.ts它的用法,因为它似乎用于发布.jsnpm 模块,而我只有自己的小项目,所有.ts. 另外,如果我要使用index.d.ts,它应该在<root>或的级别上使用<root>/src吗?

typescript

8
推荐指数
1
解决办法
5085
查看次数

Angular + AOT + Webpack + NgTools - 问题生成ngFactory

我一直试图在我的Angular应用程序中使用ngTools设置AOT(使用Webpack进行模块加载)并且有一个绝对的噩梦.我已经浏览了这里这里的文档中的各种资源,并阅读了ngTools自述文件,查看了Angular CLI中的示例(此应用程序不是使用Angular CLI构建的,但我认为它至少是通过Angular + Webpack + Sass + ngTools 上的这个资源找到一个有用的参考资料(我也使用SASS但是我的webpack.config.aot.js编译得很好 - 它确实阻止我切换到ngc,至少到目前为止正如我发现的那样,这是我在一些例子中看到过的,以及我在过去几天发现的每个github问题或stackoverflow帖子,无论我做什么尝试构建aot产生以下错误:

 ERROR in window is not defined

 ERROR in /Users/nataliecoley/development/company-app-name/src/main-aot.ts (2,36): Cannot find module '../aot/src/app/app.module.ngfactory'.

 ERROR in ./src/main-aot.ts
Run Code Online (Sandbox Code Playgroud)

找不到模块:错误:无法解析'/ Users/nataliecoley/development/company-app-name/src'中的'../aot/src/app/app.module.ngfactory'@ ./src/main- aot.ts 2:0-73

目前我一直在忽略第一个问题(部分是因为我似乎无法在网上发现任何其他人有这个错误,部分是因为我搜索了我的整个代码库,不包括节点模块,并且window没有出现在但是如果有人知道可能来自哪里(或者你认为它与错误2和3相关),我愿意接受建议.

虽然我认为第二个和第三个错误消息是我的问题的主要来源,因为很明显,app.module.ts之前没有编译,main-aot.ts所以main-aot.ts编译它时无法找到文件.但是,我根据我专门发现的文档进行了设置,以便app.module.ngfactory在编译器到达时已经编译好并准备好了main-aot.ts.

很明显,我的设置中缺少一些部分,因为我在网上找到的每个解决方案设置略有不同,我似乎无法缩小范围.所有我知道的是,到目前为止我没有尝试过的任何内容消除了这个错误(或产生任何其他新错误),并且我很乐意帮助那些成功设置AOT + ngTools + webpack + Angular来缩小正在发生的事情的人这里.

这是我的文件结构(简化):

.
+-- config/
|   +-- helpers.js
|   +-- webpack.common.js
|   +-- webpack.dev.js
|   +-- webpack.prod.js
+-- src/
| …
Run Code Online (Sandbox Code Playgroud)

aot webpack angular2-aot angular

6
推荐指数
1
解决办法
3524
查看次数

标签 统计

angular ×2

angular2-aot ×1

angular2-di ×1

aot ×1

typescript ×1

webpack ×1