我目前正试图将svelte集成到我的另一个项目中,但我遇到了一个问题,我认为这个问题可能与rollup有关,或者更确切地说是与rollup的svelte插件有关。
之前可能需要知道的重要事项是:我也想使用打字稿。(所以在做任何事情之前,我总是运行node scripts/setupTypeScript.js
(
问题是,汇总看起来是随机的,并不能从苗条的源文件中生成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.js
和bundle.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
之后才生成的。因此,出于某种原因,在某个时刻,编译器不再完全生成它。