Angular 我的应用程序需要哪两个模块?

Angular 我的应用程序需要哪两个模块?,angular,Angular,我在Angular 2指令中添加了@Input,出现了一个错误,使我相信我没有导入包含@Input元数据的Angular 2模块 zone.js:1263 GET http://localhost:8880/vendor/@angular/core/bundles/core.umd.js/src/metadata/directives.js 404 (Not Found) 这方面的证据是,当我删除@Input元数据时,应用程序不会生成任何错误 在我正在使用@Input元数据的模块中,我正在从@

我在Angular 2指令中添加了
@Input
,出现了一个错误,使我相信我没有导入包含
@Input
元数据的Angular 2模块

zone.js:1263 GET http://localhost:8880/vendor/@angular/core/bundles/core.umd.js/src/metadata/directives.js 404 (Not Found)
这方面的证据是,当我删除@Input元数据时,应用程序不会生成任何错误

在我正在使用
@Input
元数据的模块中,我正在从
@angular/core/src/metadata/directions
我的IDE(IDEA 2016.2)导入
{Input}

因此,我需要通过
@NgModule
导入正确的Angular 2模块,但我不知道如何确定它的名称或位置

下面是我的
应用程序模块
(引导)模块定义:

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

import {BrowserModule, Title} from '@angular/platform-browser';
import {RouterModule} from '@angular/router';

import {UtilityModule} from '../utility/module';
import {I18NModule} from '../i18n/module';

import {FrameworkModule} from '../framework/module';

import {ApplicationComponent} from './application.component';
import {applicationRouting, applicationRoutingProviders} from './application.routing';

import {SandboxComponent} from './sandbox.screen/sandbox.component';
import {SpreadsheetComponent} from './spreadsheet.screen/spreadsheet.component';

@NgModule({
    imports: [BrowserModule, RouterModule, UtilityModule, I18NModule, applicationRouting, FrameworkModule],
    providers: [Title, applicationRoutingProviders],
    declarations: [ApplicationComponent, SandboxComponent, SpreadsheetComponent],
    bootstrap: [ApplicationComponent]
})
export class ApplicationModule {}
这是我的
框架模块
,我试图在其中使用
@Input

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

import {BrowserModule} from '@angular/platform-browser';

import {TUT_FRAMEWORK_DIRECTIVES} from './directives/index';
import {TUT_FRAMEWORK_COMPONENTS} from './components/index';

@NgModule({
    imports: [BrowserModule],
    providers: [],
    declarations: [TUT_FRAMEWORK_DIRECTIVES, TUT_FRAMEWORK_COMPONENTS],
    exports: [TUT_FRAMEWORK_DIRECTIVES, TUT_FRAMEWORK_COMPONENTS]
})
export class FrameworkModule {}
大概我需要向其中一个文件添加Angular 2模块导入,以提供
@Input

一般来说,Angular 2提供的模块列表在哪里?我如何确定哪些模块对应Angular 2的哪些功能

进一步研究

从Angular网站(API文档):

@角/芯

输入

从@angular/core/index导出,在@angular/core/src/metadata/directives.ts中定义

我不知道如何解释上面关于我需要包含在引导模块定义中的任何信息。。。(可能我找错了方向)

要在组件中使用
@Input()
,您必须像这样从核心包导入
Input
-

import { Input } from '@angular/core';
参考:

看看这是否有帮助。

我发现了我的问题:

在我的指令中,我的IDE使用其完整路径帮助导入了
Input

import {Input} from '@angular/core/src/metadata/directives';
Angular 2的发行版提供了捆绑包,在我的
system.config.js
文件中,我引用了这些捆绑包,如下代码片段所示:

System.config(
    {
        paths: {
            // paths serve as alias
            'npm:': 'vendor/'
        },
        // tell the SystemJS loader where to look for packages and components
        map: {
            'application': '.',

            // angular bundles
            '@angular/core': 'npm:@angular/core/bundles/core.umd.js',

...
因为我的导入包含到
Input
的扩展路径,所以系统加载器将其附加到我的
system.config
映射:
条目中的引用中。。。导致加载角度2核心模块的路径错误
(404)

请注意,
core.umd.js
bundle参考中附加的
/src/metadata/directions.js

要解决我的问题,我需要做的就是引用
核心
模块,而不是
键入
文件,其中声明了
输入
导出
(如下所示):


您当前拥有的所有angular模块的列表都在您的package.json中。您可以显示该文件中的内容吗?可能我误解了您的问题—您想知道从何处导入输入。一般来说,您可以找到特定指令或对象在上的位置。在您的例子中,输入存在于angular/core中,因此您可以从@angular/core编写
import{input}您使用的是哪个版本的angular2?我已加载到开发系统中的angular2软件包列表位于我的package.json文件中-我可能会也可能不会决定在我的应用程序中使用这些软件包(例如,我将它们添加到我的package.json中,以备以后需要,但尚未引用其中的一个或多个)@Neohuerist I在Github上发布了一个问题,要求提供Angular API提供的所有模块的正式列表。这是我的建议。我们看看会发生什么!我补充了我原来的帖子,以澄清我认为缺少的不是指令中的
import
,而是如何在模块定义文件中导入直角2模块。。。感谢您指出我在这方面还不清楚。虽然我已经解决了我的问题,但我仍然有我在这篇文章中最初提出的问题-如何从Angular 2功能回溯到相应的Angular 2模块。。。
zone.js:1263 GET http://localhost:8880/vendor/@angular/core/bundles/core.umd.js/src/metadata/directives.js 404 (Not Found)
import {Input} from '@angular/core';