Svelte +Vite:Typescript 中的可写存储,无法导入 Writable<T> 接口

Tom*_*nka 6 typescript svelte vite

在使用 Vite 搭建的 Svelte 项目中,我尝试用 Typescript 编写一个 Svelte 商店;导入接口时遇到问题,Writable<T>如下所示:

import { Writable, writable, derived } from 'svelte/store';
Run Code Online (Sandbox Code Playgroud)

这会导致浏览器控制台中出现以下错误:

Uncaught SyntaxError: The requested module '/node_modules/.vite/svelte_store.js?v=16f52463' does not provide an export named 'Writable'.
Run Code Online (Sandbox Code Playgroud)

有没有办法Writable<T>在这样的设置中导入接口?

tup*_*tus 14

使用import type { Writable } from 'svelte/store';

更新:从 TypeScript 4.5 开始,您应该能够在一行中完成所有导入。所以而不是

import type { Writable } from 'svelte/store';
import { writable, derived } from 'svelte/store';
Run Code Online (Sandbox Code Playgroud)

你可以做

import { type Writable, writable, derived } from 'svelte/store';
Run Code Online (Sandbox Code Playgroud)