Rollup 不从 Svelte 编译 HTML

Rollup does not compile HTML from Svelte

我目前正在尝试将 svelte 集成到我的另一个项目中,但我正在 运行 遇到一个问题,我认为它可能与 rollup 或 rollup 的 svelte 插件有关。

之前可能需要了解的重要信息:我也想使用打字稿。 (所以在一切之前,我总是运行node scripts/setupTypeScript.js

问题是 rollup,看似在 运行dom,不会从 svelte 源文件生成 HTML 和 CSS 文件。

我尝试在 rollup.config.js:

中明确包含源文件
svelte({
    include: "src/**/*.svelte",
    preprocess: sveltePreprocess({ sourceMap: !production }),
    compilerOptions: {
        // enable run-time checks when not in production
        dev: !production
    }
}),

并替换

import App from "./App.svelte

const App = require("./App.svelte") 

但运气不好。

当我 运行 rollup -c 时,我总是只得到 public/build 文件夹中的 bundle.jsbundle.js.map,但没有 HTML 或CSS 个文件。

我错过了什么?

项目文件夹如下所示:(我运行rollup -c之后)

│   .gitignore
│   package-lock.json
│   package.json
│   README.md
│   rollup.config.js
│   tsconfig.json
│
├───.vscode
│       extensions.json
│
├───node_modules
│       [...]
│
├───public
│   └───build
│           bundle.js
│           bundle.js.map
│
└───src
        App.svelte
        global.d.ts
        main.ts

所以我想我找到了解决办法。

我认为问题是,当我 运行 重新编译时,我总是删除 public 文件夹,因为我认为它包含的只是编译器生成的文件。

我想情况并非如此。

我从另一个模板复制了一个新的 public 文件夹后,它现在似乎可以工作了。

虽然我仍然不完全理解为什么这是必要的,因为模板 ZIP 本身不包含 public 文件夹。它也是在我先运行npm run build之后才生成的。 所以出于某种原因,在某些时候,编译器不再完全生成它。