使用Aurelia CLI和typescript时随机吞咽传输文件失败
我正在使用Aurelia Cli,它在大多数情况下都工作得很好,但有一件事真的让我头疼 我创建了一个新的原型扩展,如下所示:使用Aurelia CLI和typescript时随机吞咽传输文件失败,typescript,aurelia,Typescript,Aurelia,我正在使用Aurelia Cli,它在大多数情况下都工作得很好,但有一件事真的让我头疼 我创建了一个新的原型扩展,如下所示: interface Array<T> { remove(itemToRemove: T): Array<T>; } Array.prototype.remove = function (itemToRemove) { const index = this.indexOf(itemToRemove); if (index !=
interface Array<T> {
remove(itemToRemove: T): Array<T>;
}
Array.prototype.remove = function (itemToRemove) {
const index = this.indexOf(itemToRemove);
if (index !== -1) {
this.splice(index, 1);
}
return this;
}
接口数组{
移除(itemToRemove:T):数组;
}
Array.prototype.remove=函数(itemToRemove){
const index=this.indexOf(itemToRemove);
如果(索引!=-1){
这是一个拼接(索引1);
}
归还这个;
}
这可以很好地工作,只是当我使用aurun--watch
running保存任何文件时。我将在生成时收到一个错误,告诉我删除不是[]
上的有效方法。这是随机的,大约每4次发生1次。如果我不做任何改变,然后再次保存,它可能不会再抱怨了
我怎样才能让奥雷莉亚一直接受这个
链接到完整项目:您看到的问题可能是编译器没有一致地将数组扩展名源文件提供给编译器。很可能是因为
首先,尝试注释.pipe(changedInPlace({firstPass:true}))代码>并查看是否开始获得更一致的构建
如果是这样,您可能必须更新构建脚本,以便源文件始终传递给编译器。比如:
let dts = gulp.src(project.transpiler.dtsSource);
let src = gulp.src(project.transpiler.source)
.pipe(changedInPlace({firstPass: true}));
let exts = gulp.src("path/to/extension.ts")
return eventStream.merge(dts, src, exts)
另外,至少在TypeScript2.1中,如果我试图像您一样设置一个数组原型,我会抱怨。可通过以下方式进行修复:
(<any>Array.prototype).remove = function (...etc
(Array.prototype).remove=函数(…等)
我认为这听起来像是TypeScript Transfile步骤中的一个问题,与Aurelia无关。很可能我并不是说Aurelia或CLI中出现了问题,只是为我的问题提供了一些背景。有没有办法帮助解决这个问题,比如设置一个顺序以便首先查看它?假设这不相关——我不是100%确定,可能需要更具可重复性,以找出原因。我将ping具有更多TS知识的人我不确定这是否有帮助。我将添加到我的项目的链接,以提供更多上下文。非常好,我将看看今天是否可以将其下拉以复制这似乎已起作用。我不能肯定,但我不能确定,因为我不能即使我更改了文件,也要复制它?!可能是因为我升级了typescript(2.1.4)以尝试复制您提到的问题。