我怎样才能让我的角2应用与桶文件导入工作?

问题描述 投票:8回答:2

我试图按照角2风格指南04-10创建和这里找到导入桶:https://angular.io/docs/ts/latest/guide/style-guide.html

当我运行我的应用程序,现在的角度试图加载不存在的文件:“我-组件名称here.js”。

为了说明这个问题,我已经修改了角2示例应用程序使用每桶文件,它现在抛出一个404错误也是如此。

我把英雄组件文件到自己的文件夹被称为英雄。我创建了一个新的文件,所谓英雄/ index.ts:

export * from './heroes/heroes.component';

我改变了import语句中app.component.ts到:

import { HeroesComponent } from './heroes';

当应用程序试图加载它的出现在开发者控制台以下错误:

Error: Error: XHR error (404 Not Found) loading app/heroes.ts(…)

该plunkr在这里找到:http://plnkr.co/edit/YXY0PwuFot1g1s6qTqDt?p=preview

我怀疑这是与SystemJS,但我不知道有足够的了解它来修复它。任何人都可以帮忙吗?提前致谢!

angular typescript systemjs
2个回答
13
投票

你必须做出一些改变,使桶的工作,

index.ts

   export * from './heroes.component';

systemjs.config.js

添加一个条目以map像下面,

  'heroes':                     'app/heroes', 

然后在packages将条目类似下面,

  'heroes': { main: 'index.ts',  defaultExtension: 'ts' },

这将解决barrel问题,但不能完全解决所有您的问题,你有参考hero-detail以及英雄组件内,所以你要对那些工作。

希望这可以帮助!!


0
投票

作为到目前为止,我可以在你的plunkr看到,HeroesComponent类位于app/heroes/heroes.component.ts文件中。所以我会用,而不是执行以下操作:

import { HeroesComponent } from './heroes.component';
© www.soinside.com 2019 - 2024. All rights reserved.