Импорт модулей Typescript в Svelte Component - PullRequest
0 голосов
/ 25 апреля 2020

У меня есть настройки 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

Какой правильный способ сделать это?

1 Ответ

1 голос
/ 26 апреля 2020

Установите накопительный плагин для машинописи для обработки несветовых файлов:

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>
...