使用不同的语言进行精简路由

Using different language for svelte routing

我想将 Svelte 用于网站,尽管我更喜欢使用不同的语言来进行路由,例如 kotlin 而不是 javascript。我在网上找不到任何信息,因为 Svelte 有自己的文件。所以我有 .svelte 个文件,而不是 .html 个文件。

有谁知道是否可以为此使用不同的语言?如果有怎么办?

Svelte 是一个编译器,它将把 svelte 文件编译成 html 和 js 文件。复制 js 和 css 生成的文件并用于导入 kotlin 应用程序视图或任何其他支持 html、js、css 的技术/框架;几乎所有网络技术都这样做。

在汇总配置文件中(默认情况下它的命名包,但您可以在页面中重命名,或者在稍后的实例化步骤中也可以将应用程序命名为任何名称)

export default {
input: 'src/main.js',
output: {
    sourcemap: true,
    format: 'iife',
    name: 'app',
    file: 'public/build/bundle.js'
},

所以在你看来你需要导入

<link rel='stylesheet' href='/build/bundle.css'>

<script defer src='/build/bundle.js'></script>

并实例化您的精巧“应用程序”(在您的情况下,它将是一个页面,一些实现将其命名为小部件)

<script>
const app = new App({
target: document.body,
 props: {
    name: 'world'
 }
});
</script>

我只是使用默认的 svelte 创建模板,它只有一个道具“名称”,所以这里是 svelte 文件:

<script>
 export let name;
</script>

<main>
  <h1>Hello {name}!</h1>
  <p>Visit the <a href="https://svelte.dev/tutorial">Svelte tutorial</a> 
  to learn how to build Svelte apps.</p>
</main>

在你之后 运行

npm run build

将成为 public/build 文件夹中的 bundle.js 和 bundle.css 文件(或汇总配置中更新的任何名称)

所以你的问题应该是“我如何将 svelte 与 Kotlin 或其他非 svelte 的技术和框架一起使用。”

因此,要更好地解释 svelte 的本质,就是在浏览器可以理解的 js 中编译 svelte 文件,并且没有额外的 运行时间,因此很容易将任何 svelte 小部件移植到任何其他技术框架中。

我希望这能回答你的问题。

为了组织您的 'widgets' 或 'pages',您可能需要使用类似 turborepo 的工具。我在这里做了一个简短的post:

https://nenadkostic.com/blog/turborepo-sveltekit/