Rollup 说“[name] 不是由 [file] 导出”,而它显然是
Rollup says "[name] is not exported by [file]" while it clearly is
我正在构建一个 Svelte/TypeScript 应用程序,突然它无法再编译,并出现以下错误:
[!] Error: 'VoidPromiseCallback' is not exported by src/types.ts, imported by src/TopicEditionFormStack/TopicEditionFormStack.svelte
https://rollupjs.org/guide/en/#error-name-is-not-exported-by-module
src/TopicEditionFormStack/TopicEditionFormStack.svelte (2:18)
1: <script lang="ts">
2: import { Topic, VoidPromiseCallback } from '../types.js';
^
但是,如果您查看文件 src/types.ts
,您会在末尾看到:
export type VoidPromiseCallback = {
resolve: () => void,
reject: (reason?: any) => void,
}
VS Code 同意 types.ts
导出名称,因为如果我 “转到定义” 出现 VoidPromiseCallback
Rollup 抱怨, 它导航到上面引用的导出。
知道是什么原因造成的吗?我在想也许 Rollup 没有使关于 types.ts
.
的导出的缓存无效
在 svelte 组件中,您需要通过指定您导入的类型来导入您的类型:
import { Topic } from '../types.js';
import type { VoidPromiseCallback } from '../types.js';
我正在构建一个 Svelte/TypeScript 应用程序,突然它无法再编译,并出现以下错误:
[!] Error: 'VoidPromiseCallback' is not exported by src/types.ts, imported by src/TopicEditionFormStack/TopicEditionFormStack.svelte
https://rollupjs.org/guide/en/#error-name-is-not-exported-by-module
src/TopicEditionFormStack/TopicEditionFormStack.svelte (2:18)
1: <script lang="ts">
2: import { Topic, VoidPromiseCallback } from '../types.js';
^
但是,如果您查看文件 src/types.ts
,您会在末尾看到:
export type VoidPromiseCallback = {
resolve: () => void,
reject: (reason?: any) => void,
}
VS Code 同意 types.ts
导出名称,因为如果我 “转到定义” 出现 VoidPromiseCallback
Rollup 抱怨, 它导航到上面引用的导出。
知道是什么原因造成的吗?我在想也许 Rollup 没有使关于 types.ts
.
在 svelte 组件中,您需要通过指定您导入的类型来导入您的类型:
import { Topic } from '../types.js';
import type { VoidPromiseCallback } from '../types.js';