typescript TS从脚本路径读取文件

wecizke3  于 2023-03-04  发布在  TypeScript
关注(0)|答案(1)|浏览(590)

我正在用Typescript做一个库,我需要读取一些文件。我知道可以使用fetch(url),其中url对应于从html页面到文件的相对路径。唯一的问题是,我不知道html页面将位于何处,因为这将是用户的工作。所以我的问题是,如何从我的项目中获取文件,使用我正在调用的脚本fetch()(或任何其他函数)的相对路径。

例如,我想从“Material.ts”中读取“Shader”目录中的一个文件。
我需要读取的文件是纯文本,并且我的脚本使用导入语句,因此它们已经是一个模块。
我试过document.currentScript.src,但得到一个错误。

emeijp43

emeijp431#

import.meta.url似乎返回了模块当前脚本的路径。
使用这个命令可以获取与这个脚本相关的其他东西的路径。URL API在这方面非常有用:

new URL("../Shader/someShader.frag", import.meta.url).pathname;

这将返回我正在寻找的资源的路径!
资料来源:

  1. Get URL of current module script
  2. https://developer.mozilla.org/en-US/docs/Web/API/URL

相关问题