【发布时间】:2016-01-06 09:38:09
【问题描述】:
我正在使用aurelia-typescript-skeleton 作为我的新项目的基础。我尝试在src 文件夹中添加一个新的hello.ts 文件
export class Hello {
sayHello(name:string) : string {
return 'Hello ' + name;
}
}
并在以下同一文件夹中的另一个文件中引用它
import {Hello} from './hello';
export class Users {
constructor() {
console.log(new Hello().sayHello('Test'));
}
}
这两个文件位于同一文件夹级别。当我第一次构建时,一切正常。当我对users.ts 文件进行任何后续更改时,gulp-typescript 编译一直失败,并出现我无法理解的错误。打字稿编译器的错误是
> Starting 'build-system'...
> src\users.ts(4,21): error TS2307: Cannot find module 'hello'.
> TypeScript: 1 semantic error
> TypeScript: emit succeeded (with errors)
> Finished 'build-system' after 950 ms
每当我做一个新的gulp watch 时,都没有错误。当我编辑/更改 users.ts 文件时出现错误。谁能帮我理解这个错误?它必须是一些基本的东西......
我在 Windows 7 环境中,我在 2 台机器上收到此错误。
更新:
这里是repo to reproduce the problem。重现步骤:
- 克隆 repo,安装所有
npm和jspm依赖项。 - 运行
gulp watch-> 我没有出现错误 - 更改
users.ts文件并保存 -> 出现错误。
更新2:
在build-system 之前添加clean 步骤有助于避免该问题。这里是the link to commit。我仍然不确定第一手问题的实际原因。
【问题讨论】:
-
请同时添加 gulp 的错误信息。
-
@MartinVseticka 查看问题中的控制台输出 - 这就是我从 gulp 任务中得到的结果
-
我尝试下载 repo 并安装它 [ubuntu 15.10]。构建脚本似乎对我有用。我只需要用一些修复替换
/aurelia-typescript-skeleton/jspm_packages/github/aurelia/fetch-client@0.1.1/aurelia-fetch-client.d.ts(它包含错误):pastee.org/v5ghs我的gulp watch输出:pastee.org/pzskc -
@MartinVseticka 我在 Windows 上,有什么不同吗?我的输出与您的第一次运行类似,但在第二次和后续运行时失败。在 2 台机器上测试,结果相同。
-
很难说。我知道 gulp-typescript 及其增量编译在 Windows 上工作(我们在不同的项目中具有该功能)。所以我倾向于说,它应该可以在 Windows 上运行。我会试着在这里问gitter.im/Aurelia/Discuss
标签: typescript gulp aurelia gulp-watch