我已经设置好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
这样做的正确方法是什么?
安装 typescript 的 rollup 插件来处理非 svelte 文件:
yarn add -D @rollup/plugin-typescript typescript tslib
添加plugin-typescript到您的plugins列表rollup.config.js:
yarn add -D @rollup/plugin-typescript typescript tslib
现在import不需要.ts扩展:
//....
import autoProcess from 'svelte-preprocess'
import typescript from '@rollup/plugin-typescript'
export default {
  ...
  plugins: [
    typescript(),
    svelte({
      preprocess: autoProcess(),
      ...
    })
    ...
  ]
}
| 归档时间: | 
 | 
| 查看次数: | 4822 次 | 
| 最近记录: |