我已经通过au new
创建了一个新的aurelia项目,并且在src
文件夹中引用typescript文件没有任何问题。例如,在main.ts
中,这可行:
main.ts
import { Util } from './util'; //in aurelia-app\src
new Util();
util.ts
export class Util{ }
当我将util.ts向上移动一级时,这会破坏au
CLI:
import { Util } from '../util'; //in aurelia-app\
错误:
跟踪主要...... -------文件未找到或无法访问------
|地点:D:/temp/aurelia-test1/aurelia-app/util.js
|要求:> d:/temp/aurelia-test1/aurelia-app/src/main.js
|这是一个包吗? 确保它在aurelia.json中配置,并且它不是a Node.js包
有人可以告诉我为什么CLI不喜欢这个以及可能如何修复它?
有一条线索,因为日志声明它正在查找util.js
但是这并不能解释为什么当util.ts
位于src
文件夹中时 工作因为我在这个文件夹中看不到util.js
。
根据以下@Jesse的回答,您可以修改aurelia.json
以解决上述问题 - 但是如果您想要更高的其他目录,则会失败。例如
import { Util } from '../../util';
答案 0 :(得分:1)
这是因为您的aurelia.json
已配置为转换.ts
- 文件夹中的所有src
个文件:
"transpiler": {
"id": "typescript",
"displayName": "TypeScript",
"fileExtension": ".ts",
"dtsSource": [
"./custom_typings/**/*.d.ts"
],
"source": "src/**/*.ts" <--- right here
},
因此它不会在根目录中转换你的打字稿文件。您可以更改aurelia.json
中的转换设置以克服此问题,但我建议您将打字稿保存在src
- 文件夹中。