使用 HTML <script> 标签加载转译后的 TS2?
Load transpiled TS2 with HTML <script> tag?
我真的是 Typescript2 的新手。我很喜欢它,并且编写了一个模块,我可以轻松地在其他 Typescript2 项目中导入和使用它。但我也希望我的库能够通过简单地使用 HTML 标记作为独立库使用。但是,当我这样做时,浏览器会抱怨 "exports is undefined."
我猜我必须编写某种 javascript 来导入我的模块并实例化它,然后让我的浏览器加载该包装脚本。我在正确的轨道上吗?我如何创建一个 typescript,它可以转换成我可以在浏览器中本地加载的东西,并带有一个只加载和实例化的脚本标签?
你走在正确的轨道上。你需要的是一个模块加载器。对于浏览器,typescript documentation 中提到了 requirejs,尽管有几个选项(requirejs、browserify、webpack、rollup)。
我将 requirejs 与 typescript 一起使用,所以我有执行以下步骤的经验:
对于 requirejs,您可以开始执行以下操作。
当运行使用typescript配置文件或命令行compiler option arguments运行typescript编译器命令(tsc)时,确保编译成AMD格式的模块=17=]
// tsconfig.json
{
"compilerOptions": {
"module": "amd"
}
}
获取requirejs
- 记下typescript编译器输出的.js文件名
- 例如"my-script.js"
- 向页面添加脚本标记
- 例如
<script data-main="scripts/my-script" src="require.js"></script>
requirejs 有一个简单的 "getting started" 页面 http://requirejs.org/docs/start.html
作为奖励,要将多个模块导出到单个文件,您可以使用 --outFile
typescript 编译器选项。
我真的是 Typescript2 的新手。我很喜欢它,并且编写了一个模块,我可以轻松地在其他 Typescript2 项目中导入和使用它。但我也希望我的库能够通过简单地使用 HTML 标记作为独立库使用。但是,当我这样做时,浏览器会抱怨 "exports is undefined."
我猜我必须编写某种 javascript 来导入我的模块并实例化它,然后让我的浏览器加载该包装脚本。我在正确的轨道上吗?我如何创建一个 typescript,它可以转换成我可以在浏览器中本地加载的东西,并带有一个只加载和实例化的脚本标签?
你走在正确的轨道上。你需要的是一个模块加载器。对于浏览器,typescript documentation 中提到了 requirejs,尽管有几个选项(requirejs、browserify、webpack、rollup)。
我将 requirejs 与 typescript 一起使用,所以我有执行以下步骤的经验:
对于 requirejs,您可以开始执行以下操作。
当运行使用typescript配置文件或命令行compiler option arguments运行typescript编译器命令(tsc)时,确保编译成AMD格式的模块=17=]
// tsconfig.json { "compilerOptions": { "module": "amd" } }
获取requirejs
- 记下typescript编译器输出的.js文件名
- 例如"my-script.js"
- 向页面添加脚本标记
- 例如
<script data-main="scripts/my-script" src="require.js"></script>
- 例如
requirejs 有一个简单的 "getting started" 页面 http://requirejs.org/docs/start.html
作为奖励,要将多个模块导出到单个文件,您可以使用 --outFile
typescript 编译器选项。