我对Typescript2非常陌生。我很喜欢它,并编写了一个模块,可以轻松导入并用于其他Typescript2项目。但我也希望我的图书馆能够通过简单地使用HTML标签作为独立使用。但是,当我这样做时,浏览器会抱怨“导出未定义”。使用HTML <script>标记加载转发的TS2?
我猜我必须写一些JavaScript,导入我的模块并实例化它,然后让我的浏览器加载该包装脚本。我在正确的轨道上吗?如何创建一个打印脚本,将其转换为我可以用浏览器本地加载的脚本标记,只需加载并实例化?
我对Typescript2非常陌生。我很喜欢它,并编写了一个模块,可以轻松导入并用于其他Typescript2项目。但我也希望我的图书馆能够通过简单地使用HTML标签作为独立使用。但是,当我这样做时,浏览器会抱怨“导出未定义”。使用HTML <script>标记加载转发的TS2?
我猜我必须写一些JavaScript,导入我的模块并实例化它,然后让我的浏览器加载该包装脚本。我在正确的轨道上吗?如何创建一个打印脚本,将其转换为我可以用浏览器本地加载的脚本标记,只需加载并实例化?
你在正确的轨道上。你需要的是一个模块加载器。对于浏览器,虽然有几个选项(requirejs,browserify,webpack,rollup),但在typescript documentation中提到了requirejs。
我用requirejs与打字稿,所以我有经验做以下步骤:
对于requirejs,你可以做以下上手。
确保所使用打字稿配置文件或命令行运行打字稿编译器命令(TSC)时编译为在AMD格式模块compiler option arguments
// tsconfig.json
{
"compilerOptions": {
"module": "amd"
}
}
获取requirejs
<script data-main="scripts/my-script" src="require.js"></script>
有一个简单的 “入门” 啪ge for requirejs http://requirejs.org/docs/start.html
作为奖励,要将多个模块导出到单个文件,可以使用--outFile
编译器选项来输入typescript。