我有一个将电子与 svelte 以及打字稿支持集成在一起的设置。
当我运行rollup脚本来编译 svelte 应用程序时,./App.svelte出现如下所示的找不到模块错误。
Plugin typescript: @rollup/plugin-typescript TS2307: Cannot find module './App.svelte' or its corresponding type declarations.
Run Code Online (Sandbox Code Playgroud)
这是我的package.json配置:
{
"name": "tapwire-electron-first",
"productName": "tapwire-electron-first",
"version": "1.0.0",
"description": "My Electron application description",
"main": "dist/index.js",
"scripts": {
"electron-start": "tsc && electron-forge start",
"electron-package": "electron-forge package",
"electron-make": "electron-forge make",
"electron-publish": "electron-forge publish",
"electron-lint": "eslint --ext .ts .",
"svelte-build": "rollup -c",
"svelte-dev": "rollup -c -w",
"svelte-start": "sirv public",
"svelte-validate": "svelte-check",
"start": "run-p svelte-dev electron-start"
},
"keywords": [], …Run Code Online (Sandbox Code Playgroud) 是否可以在 Typescript 文件中导入 Svelte 组件并让 Rollup 成功编译它?
以下代码作为 Javascript 文件工作,但转换为 Typescript 时出错,因为 TS 编译器不知道如何处理.svelte文件:
import Component from './Component.svelte';
const foo = () => new Component({ target: document.body });
Run Code Online (Sandbox Code Playgroud)
有没有的组合rollup-plugin-svelte,并@rollup/plugin-typescript会以进行预处理,使得该打字稿编译器可以包括苗条代码苗条的组成部分?
如果更多上下文有帮助,boardgame.io 包含一个使用 Svelte 构建的浏览器内调试组件,该组件捆绑在普通 JS 客户端和 React 客户端组件中,我们正在尝试准确更新我们的 Rollup 配置这种情况。