src目录外的标准aurelia模板引用文件

时间:2018-04-10 12:05:33

标签: javascript typescript aurelia aurelia-cli

我已经通过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';

1 个答案:

答案 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 - 文件夹中。

相关问题