我有一个这样的typescript文件:
class FieldModel
{
constructor() { console.log('test'); }
}
字符串
当我从普通的JavaScript或浏览器控制台使用new FieldModel()
示例化FieldModel
时,它工作得很好,因为tsc
生成了以下javascript:
var FieldModel = /** @class */ (function () {
function FieldModel() {
console.log('test');
}
return FieldModel;
}());
型
但是当上面的ts文件有一个如下的导入声明时,我就不能示例化FieldModel,因为我得到了一个错误,即class没有定义。
import {Subject} from "rxjs";
class FieldModel
{
constructor() {
console.log('test');
new Subject();
}
}
型tsc
为上面的代码生成下面的JavaScript:
define("Path/to/the/typescript/file/without/extension", ["require", "exports", "rxjs"], function (require, exports, rxjs_1) {
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var FieldModel = /** @class */ (function () {
function FieldModel() {
console.log('test');
new rxjs_1.Subject();
}
return FieldModel;
}());
});
型
我只想能够从遗留的JavaScript代码(或浏览器控制台)访问FieldModel
类,但我不知道如何绕过第二个代码片段生成的定义。
1条答案
按热度按时间rkue9o1l1#
我的tsconfig中的模块设置被设置为
amd
,这使得JavaScript输出看起来像上面一样。所以我不得不learn如何使用时的输出是这样的。