目录
设置打字稿和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)

VUE 3 VUE 3 Apr 02, 2025 pm 06:32 PM

它的出局!恭喜Vue团队完成了完成,我知道这是一项巨大的努力,而且很长时间。所有新文档也是如此。

使用Redwood.js和Fauna构建以太坊应用 使用Redwood.js和Fauna构建以太坊应用 Mar 28, 2025 am 09:18 AM

随着最近比特币价格超过20k美元的攀升,最近打破了3万美元,我认为值得深入研究创建以太坊

您可以从浏览器获得有效的CSS属性值吗? 您可以从浏览器获得有效的CSS属性值吗? Apr 02, 2025 pm 06:17 PM

我有人写了这个非常合法的问题。 Lea只是在博客上介绍了如何从浏览器中获得有效的CSS属性。那样的是这样。

带有粘性定位的堆叠卡和一点点的杂物 带有粘性定位的堆叠卡和一点点的杂物 Apr 03, 2025 am 10:30 AM

前几天,我发现了科里·金尼文(Corey Ginnivan)网站上的这一点,当您滚动时,彼此之间的卡片堆放集。

在CI/CD上有点 在CI/CD上有点 Apr 02, 2025 pm 06:21 PM

我说的“网站”比“移动应用程序”更合适,但我喜欢Max Lynch的框架:

比较浏览器的响应式设计 比较浏览器的响应式设计 Apr 02, 2025 pm 06:25 PM

这些桌面应用程序中有许多目标是同时在不同的维度上显示您的网站。因此,例如,您可以写作

在WordPress块编辑器中使用Markdown和本地化 在WordPress块编辑器中使用Markdown和本地化 Apr 02, 2025 am 04:27 AM

如果我们需要直接在WordPress编辑器中向用户显示文档,那么最佳方法是什么?

为什么Flex布局中的紫色斜线区域会被误认为是'溢出空间”? 为什么Flex布局中的紫色斜线区域会被误认为是'溢出空间”? Apr 05, 2025 pm 05:51 PM

关于Flex布局中紫色斜线区域的疑问在使用Flex布局时,你可能会遇到一些令人困惑的现象,比如在开发者工具(d...

See all articles