Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/webpack/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular Cli网页包桶文件未解析_Angular_Webpack_Angular Cli - Fatal编程技术网

Angular Cli网页包桶文件未解析

Angular Cli网页包桶文件未解析,angular,webpack,angular-cli,Angular,Webpack,Angular Cli,我刚刚将Angular 2项目从SystemJS切换到Webpack,现在正在使用Angular-cli@webpack. 在这里和那里修复了一些小东西之后,最大的症结似乎是我的桶形锉刀不再像预期的那样得到解决 我一直在做我的导入工作,比如: import { ServiceA, ServiceB, ModelZ } from '../shared/index' 在编译时,它们似乎已被解决。编译时,tslint没有抱怨,Typescript也没有抱怨 然而,在运行时,它们都被解析为未定义 要解

我刚刚将Angular 2项目从SystemJS切换到Webpack,现在正在使用Angular-cli@webpack.

在这里和那里修复了一些小东西之后,最大的症结似乎是我的桶形锉刀不再像预期的那样得到解决

我一直在做我的导入工作,比如:

import { ServiceA, ServiceB, ModelZ } from '../shared/index'
在编译时,它们似乎已被解决。编译时,tslint没有抱怨,Typescript也没有抱怨

然而,在运行时,它们都被解析为
未定义

要解决此问题,我可以将其更改为:

import { ServiceA } from './shared/services/service-a.service
import { ServiceB } from './shared/services/service-b.service
import { ModelZ } from './shared/models/ModelZ
将导入指向它们的特定文件后,可以在运行时解析它们,并且一切都可以顺利进行。但我不想这么做。我喜欢桶装锉刀


注意:此开关需要升级到Typescript 2.0.0。这就是这里的另一大新事物。但我认为问题在于Webpack将这些信息捆绑在一起的方式。我对Webpack不太熟悉。

一件奇怪的事情为我解决了这个问题,那就是重新排序桶文件中的导入。不确定这是否正确,但根据重新排序,我得出的结论是,模型导入必须在服务导入之前进行,因为服务使用模型。这也是我得出的结论。我不知道这是不是真的,但它解决了我的问题。这可能是一个-->问题在9月份提交。因为CLI没有公开webpack配置,所以看起来我们使用桶的运气不好。是的,我已经完全停止使用桶来进行任何注入。它们仍然适用于我的模型(只是普通的旧Typescript对象),但仅此而已。