在 Svelte 组件中导入 Typescript 模块

迈克·霍根

我已经设置svelte-preprocess好了,所以我可以成功地做到这一点:

<script lang="typescript">
    let someConstant:string = "some constant";
    console.log({someConstant});
</script>

这样可行。但我不知道如何将这个常数外化。如果我尝试:

<script lang="typescript">
    import {someConstant} from './SomeTypescript.ts'
    console.log({someConstant});
</script>    

我收到此错误消息:

error TS2691: An import path cannot end with a '.ts' extension. Consider importing './SomeTypescript' instead.

当我把它改成

<script lang="typescript">
    import {someConstant} from './SomeTypescript'
    console.log({someConstant});
</script>

我收到此错误:

Error: Could not resolve './SomeTypescript' from src/tom/ManageAirtableModels.svelte

这样做的正确方法是什么?

约什努斯

安装用于打字稿的汇总插件来处理非苗条文件:

yarn add -D @rollup/plugin-typescript typescript tslib

添加plugin-typescript到您的plugins列表中rollup.config.js

//....
import autoProcess from 'svelte-preprocess'
import typescript from '@rollup/plugin-typescript'

export default {
  ...
  plugins: [
    typescript(),

    svelte({
      preprocess: autoProcess(),
      ...
    })
    ...
  ]
}

现在import不需要.ts扩展:

<script lang="typescript">
    import {someConstant} from './SomeTypescript'
    console.log({someConstant});
</script>

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章