gpt4 book ai didi

javascript - 使用模块编译 Typescript 以在浏览器中运行

转载 作者:行者123 更新时间:2023-12-03 08:07:54 27 4
gpt4 key购买 nike

通过 Javascript,我可以使用模块(即 importexport 语句)并将代码分割到不同的文件中,并让这些代码在浏览器中运行。

让我们举一个由 3 个文件组成的最简单的示例:my-function-js.jsma​​in-js.jspage-js.html

my-function-js.js

export function myFunctionJs() {
console.log("here I am, a pure Javascript function");
}

ma​​in-js.js

import { myFunctionJs } from "./my-function-js.js";

myFunctionJs();

page-js.html

<!DOCTYPE html>
<html>
<body>
<script type="module" src="./main-js.js"></script>
</body>
</html>

如果我尝试对 Typescript 执行相同的操作(具有 .ts 扩展名的文件中的相同代码),我会失败,因为编译器会根据 生成各种“模块相关” module 选项提供给编译器,但无法简单地维护代码并使其像 Javascript 使用模块一样工作。

我意识到这是一个理论问题,我们应该使用 bundler 等,但我只是想知道是否有一种简单的方法可以仅使用 Typescript 编译器使模块在浏览器中工作。

最佳答案

运行时tsc根据您问题中的理论代码/文件,它会生成所需的输出,只要您在 tsconfig.json 中设置目标,该输出就可以在浏览器中正常工作。至es6或更高版本,因为您尝试使用的功能是在 es6 中引入的:

  "target": "es6",

唯一的技巧是在你的 ts 文件中你需要包含 .js您希望在导入中生成扩展名,或者您需要不包含扩展名并配置您的网络服务器,以便能够确定浏览器在请求不带扩展名的文件时所要求的内容。

关于javascript - 使用模块编译 Typescript 以在浏览器中运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71621472/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com