我想导出在一个文件中定义的类型,然后将其导入另一个文件中。
export type myNewType = {name: string};
当我添加export
时,linter向我显示下面的错误:
Modifiers cannot appear here.
我可以通过创建一个新的ts
文件并从其中导入类型来使其工作。我只想知道是否可以在svelte
文件中定义类型。
更新:
我使用了sapper模板,它将运行而不会出错,但是TS
功能无法正常工作,并且从svelte文件导入类型和导出类型时,在vscode
中显示错误。
答案 0 :(得分:3)
您需要从模块脚本而不是普通脚本中导出类型。您还需要在常规脚本或模块脚本上添加lang="ts"
属性。这将起作用:
<script context="module" lang="ts">
export type myNewType = {name: string};
</script>
<script>
export let aProp: string;
</script>
<p>some html</p>
通常,每当您要从另一个Svelte文件(而不是组件本身)导入某些内容时,都需要在模块脚本中声明该导出。