我阅读了以下question,因为我的TypeScript类在antoher javascript文件中是undefined
。在另一个问题中,M98说要添加一个独立的浏览器来使用它全局。
我是浏览器的新手,打字稿也是gulp。
TypeScript类:
export class Test {
static log = function(what: string) : void {
console.log(what);
}
}
//export { Test }
Browserify / Gulp任务:
gulp.task('compile-ts', ['clean-ts'], function () {
var tsFiles = glob.sync(config.js.tsSource);
return browserify({
standalone: "tsLib",
basedir: ".",
debug: true,
entries: tsFiles
})
.external(["jquery"])
.plugin(tsify)
.bundle()
.pipe(source("modules.js"))
.pipe(gulp.dest(config.js.tsDest));
});
我的测试javascript文件中未定义我的typescript类,因为我创建了另一个打字稿文件并添加以下内容:
import {Test} from "./test-file";
export function log(log:string) {
Test.log(log);
}
我想在JavaScript文件中使用我的TypeScript类,如下例所示:
function onLoad() {
tsLib.log("test"); // I dont want that
Test.log("test"); // I would like to use this, but it's undefined
}
tsLib.log
是使用我的Test类的解决方法,但我只想将日志称为Test.log("whatever");
。
这可能吗?
任何人都可以给我提示吗?
编辑: 如果我使用没有browserify的TypeScript文件并且只使用TypeScript编译器它似乎正在工作,但我想了解这个问题。 我做错了什么?