与环境脚本加载兼容的模块

时间:2018-12-21 15:41:30

标签: node.js typescript

我有一个非常规的要求来编写可在Node控制台项目中运行并且可以在浏览器中使用脚本标签与环境类型定义结合运行的打字稿。

我找到的最简单的解决方案是:

app.ts

// Manually load the module rather than use import
const mylib1 = require('./mylib1');
const f1 = new mylib1.Foo();
f1.bar();

mylib1.ts

namespace mylib1 {
    export class Foo {
        bar() {
            console.log("mylib1.Foo.bar called");
        }
    }
}

// Manually export the namespace instead of using exports
if (typeof (module) !== "undefined") {
    module.exports = {
        Foo: mylib1.Foo
    };
}

webpage.htm

<html>
<head>
    <script src="mylib1.js"></script>
</head>
<body>
    <script>
    var f1 = new mylib1.Foo();
    f1.bar();
    </script>
</body>
</html>

是否有一种更简单的方法,而无需恢复使用浏览/ webpack样式技术?

0 个答案:

没有答案