【问题标题】:No angular.d.ts file with Tour of Heroes Angular 2 projectTour of Heroes Angular 2 项目中没有 angular.d.ts 文件
【发布时间】:2016-03-25 02:17:05
【问题描述】:

我正在尝试 Angular 2 的英雄之旅教程。问题是在使用如下配置运行“npm install”后没有 angular.d.ts 文件因此我无法导入。我是否使用了错误版本的任何依赖项?

import {bootstrap,  CORE_DIRECTIVES, FORM_DIRECTIVES, OnInit} from 'angular2/angular2';

package.json

{
    "name": "angular",
    "version": "1.0.0",
    "scripts": {
        "tsc": "tsc",
        "tsc:w": "tsc -w",
        "lite": "lite-server",
        "start": "concurrent \"npm run tsc:w\" \"npm run lite\" "
    },
    "license": "ISC",
    "dependencies": {
        "angular2": "2.0.0-beta.0",
        "systemjs": "0.19.6",
        "es6-promise": "^3.0.2",
        "es6-shim": "^0.33.3",
        "reflect-metadata": "0.1.2",
        "rxjs": "5.0.0-beta.0",
        "zone.js": "0.5.10"
    },
    "devDependencies": {
        "concurrently": "^1.0.0",
        "lite-server": "^1.3.1",
        "typescript": "^1.7.3"
    }
}

我的 tsconfig.json

{
    "compilerOptions": {
        "target": "ES5",
        "module": "system",
        "moduleResolution": "node",
        "sourceMap": true,
        "emitDecoratorMetadata": true,
        "experimentalDecorators": true,
        "removeComments": false,
        "noImplicitAny": false
    },
    "exclude": ["node_modules"]
}

【问题讨论】:

  • 使用 import {Component, View, Inject, Injectable, provide} from 'angular2/core';从'angular2/platform/browser'导入{bootstrap};
  • 因为在 angular2 beta 中导入已更改,如评论中所述。
  • CORE_DIRECTIVES, FORM_DIRECTIVES 在 angular2/core 中不可用我从哪里导入它们
  • 从 'angular2/common' 导入 {CORE_DIRECTIVES, NgClass, FORM_DIRECTIVES, NgForm, Control, ControlGroup, FormBuilder, Validators};

标签: angular typescript


【解决方案1】:

更新到 angular2 beta0.0 的所有导入列表

import {Component, View, Directive, Input, Output, Inject, Injectable, provide} from 'angular2/core'; 

import {bootstrap} from 'angular2/platform/browser';

import {CORE_DIRECTIVES, FORM_DIRECTIVES, NgClass, NgIf  NgForm, Control, ControlGroup, FormBuilder, Validators} from 'angular2/common';

import {RouteConfig, ROUTER_DIRECTIVES, ROUTER_PROVIDERS, Router, LocationStrategy, HashLocationStrategy} from 'angular2/router';

import {Http, HTTP_PROVIDERS, RequestOptions, Headers, Request, RequestMethod} from 'angular2/http'

如果我在这个答案中添加更多细节,那么 FORM_DIRECTIVES 包括以下指令:

NgControlName, NgControlGroup, NgFormControl, NgModel, NgFormModel, NgForm, NgSelectOption, DefaultValueAccessor, CheckboxControlValueAccessor, SelectControlValueAccessor, NgRequiredValidator

更新 2

由于 angular2 在 RC 中,因此所有导入都有重大变化,如果所有更新的导入,这里是列表 -

angular2/core -> @angular/core
angular2/compiler -> @angular/compiler
angular2/common -> @angular/common
angular2/platform/common -> @angular/common
angular2/common_dom -> @angular/common
angular2/platform/browser -> @angular/platform-browser-dynamic
angular2/platform/server -> @angular/platform-server
angular2/testing -> @angular/core/testing
angular2/upgrade -> @angular/upgrade
angular2/http -> @angular/http
angular2/router -> @angular/router
angular2/platform/testing/browser -> @angular/platform-browser-dynamic/testing

【讨论】:

  • 是的,更新导入。现在它处于测试阶段,这些更稳定。您还可以在 angular.io 存储库中找到最新的 ToH 代码,我会在其中更新它们。
猜你喜欢
  • 1970-01-01
  • 2020-10-20
  • 2017-05-08
  • 1970-01-01
  • 2018-12-25
  • 1970-01-01
  • 2022-11-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多