我在文件中有以下TypeScript类:bar.ts
export class Bar {
log(message:string):void {
console.log(message);
}
}
在文件foo.ts中我有:
import { Bar } from "bar";
window.onload = () => {
var foo = new Bar();
foo.log("Hello World");
};
我正在编译:
lib: ["dom", "es2015.promise", "es2015"]
module: "amd"
declarationFiles: true
target: "ES5"
noImplicitAny: true
out: "test.js
如何实例化Bar类?不调用window.onload事件。以下是生成的代码:
define("bar", ["require", "exports"], function (require, exports) {
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
var Bar = (function () {
function Bar() {
}
Bar.prototype.log = function (message) {
console.log(message);
};
return Bar;
}());
exports.Bar = Bar;
});
define("foo", ["require", "exports", "bar"], function (require, exports, bar_1) {
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
window.onload = function () {
var foo = new bar_1.Bar();
foo.log("Hello World");
};
});
有没有办法从标准JavaScript引用Bar?我在HTML页面中包含了require.js,并且在页面加载时没有JavaScript错误。
这是问题的简化版本,但我需要使用导出,因为项目有许多类,每个类存储在单独的文件中,我需要将它们组合成一个文件。
答案 0 :(得分:1)
您应该能够从常规JavaScript中引用Bar。尝试从requirejs data-main脚本中执行此操作。
在HTML中:
<script data-main="scripts/main" src="scripts/require.js"></script>
在scripts / main中:
requirejs(["bar"], function(bar) {});