目录
设置打字稿和Svelte
将打字稿集成到Svelte组件中
Value is: {val}
通过svelte-check添加类型检查
处理缺失的道具
高级考虑
结论
首页 web前端 css教程 将打字稿与Svelte集成

将打字稿与Svelte集成

Mar 31, 2025 pm 01:52 PM

将打字稿与Svelte集成

Svelte是JavaScript框架中迅速获得的迅速流行,它提供了一种基于模板的方法,并在模板绑定中具有无缝的JavaScript集成。它的反应性系统因其简单,灵活性和效率而受到赞扬。作为提前(AOT)编译器,Svelte拥有令人印象深刻的性能和小捆绑尺寸。本指南专注于将打字稿集成到Svelte模板中。 Svelte的新手?从官方教程和文档开始。

希望遵循或调试其项目的人可以使用带有示例代码的存储库。分支展示了下面概述的各个步骤。

注意:虽然此处详细介绍了手动集成,但请考虑使用新项目的官方Svelte模板。即使使用模板,讨论的打字稿配置也仍然相关。

设置打字稿和Svelte

本节详细介绍了基本设置。存储库中的initial-setup分支提供了一个基本的Svelte项目和打字稿的起点。至关重要的是,Typescript最初仅在独立的.ts文件中函数;集成到Svelte模板中需要进一步的配置。

此初始设置的关键组件包括:

  • tsconfig.json此文件配置Typescript的编译器。该示例使用现代JavaScript( module: "esNext"target: "esnext" )和节点模块分辨率( moduleResolution: "node" ),不包括node_modules从编译中。
 {
  “ compileroptions”:{
    “模块”:“ esnext”,
    “目标”:“ esnext”,
    “ Moduleresolution”:“ Node”
  },,
  “排除”:[./ node_modules']
}
登录后复制
  • typings/index.d.ts此文件允许Typescript与Svelte文件进行交互。没有它,Typescript在导入Svelte组件时会报告错误。
声明模块“*.svelte” {
  const值:任何;
  导出默认值;
}
登录后复制
  • webpack.config.js此配置WebPack使用svelte-loader处理Svelte文件。
 {
  测试: /\ .(html| svelte)quh/,
  使用: [
    {loader:“ babel-loader”},
    {
      加载程序:“ Svelte-Loader”,
      选项: {
        emitcss:是的,
      },,
    },,
  ],,
}
登录后复制

要验证设置,请在单独的终端运行npm start (WebPack Watch)和npm run tscw (打字稿手表)。通过修改.ts文件和观察错误报告来检查测试标题检查。运行node server允许本地测试应用程序。

将打字稿集成到Svelte组件中

要将Typescript直接添加到Svelte组件中,请将lang="ts"添加到

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

热门话题

Java教程
1664
14
CakePHP 教程
1422
52
Laravel 教程
1316
25
PHP教程
1267
29
C# 教程
1239
24
Google字体可变字体 Google字体可变字体 Apr 09, 2025 am 10:42 AM

我看到Google字体推出了新设计(Tweet)。与上一次大型重新设计相比,这感觉更加迭代。我几乎无法分辨出区别

如何使用HTML,CSS和JavaScript创建动画倒计时计时器 如何使用HTML,CSS和JavaScript创建动画倒计时计时器 Apr 11, 2025 am 11:29 AM

您是否曾经在项目上需要一个倒计时计时器?对于这样的东西,可以自然访问插件,但实际上更多

HTML数据属性指南 HTML数据属性指南 Apr 11, 2025 am 11:50 AM

您想了解的有关HTML,CSS和JavaScript中数据属性的所有信息。

使Sass更快的概念证明 使Sass更快的概念证明 Apr 16, 2025 am 10:38 AM

在一个新项目开始时,Sass汇编发生在眼睛的眨眼中。感觉很棒,尤其是当它与browsersync配对时,它重新加载

我们如何创建一个在SVG中生成格子呢模式的静态站点 我们如何创建一个在SVG中生成格子呢模式的静态站点 Apr 09, 2025 am 11:29 AM

格子呢是一块图案布,通常与苏格兰有关,尤其是他们时尚的苏格兰语。在Tar​​tanify.com上,我们收集了5,000多个格子呢

如何在WordPress主题中构建VUE组件 如何在WordPress主题中构建VUE组件 Apr 11, 2025 am 11:03 AM

内联式模板指令使我们能够将丰富的VUE组件构建为对现有WordPress标记的逐步增强。

当您看上去时,CSS梯度变得更好 当您看上去时,CSS梯度变得更好 Apr 11, 2025 am 09:16 AM

我关注的一件事是Lea Verou' s conic-Gradient()Polyfill的功能列表是最后一项:

静态表单提供商的比较 静态表单提供商的比较 Apr 16, 2025 am 11:20 AM

让我们尝试在这里造成一个术语:“静态表单提供商”。你带上html

See all articles