我有使用 angular-cli 创建的非常标准的 Angular 2 应用程序
我希望能够使用自定义 .js 文件。简化的模拟版本如下所示:
'use strict';
var testingThing = testingThing || {};
testingThing.Client = function (name) {
var self = this;
console.log(name);
this.parseUri = function (str) {
console.log(str);
return str;
};
return this;
};
// Node environment module
if (typeof window === 'undefined') {
module.exports = testingThing;
}
我正在努力如何在打字稿组件中使用它。
我试过这个(或类似的,也试过不同的东西)
export class TestService {
something: any;
constructor() {
this.something = new testingThing.Client();
var huh = this.something.new("test name");
testingThing.parseUri("testParse");
}
}
我试图为它生成打字
declare namespace testingThing{
class Client {
new (name : string): /* testingThing.Client */ any;
}
function parseUri(str : any): any;
}
但是后来我在控制台中遇到了错误,没有定义 testingThing 。
Cannot read property 'Client' of undefined
当我尝试导入它时,它说 testingThing 不是一个模块。
我确实将 myCustom.js 添加到 angular-cli.json
"scripts": [
"./myCustom.js"
],
我从互联网上尝试了几种不同的方法,所以我现在完全没有想法,我做错了什么。是我对它的使用,我的打字定义,还是其他什么。
我希望答案对于那些更习惯于前端编程的人来说是显而易见的,但我现在很困惑。