Svelte - импорт const из компонента не работает

Я пытаюсь импортировать константное значение из компонента Svelte, но свертывание говорит, что компонент не экспортирует это значение. Что я делаю не так, или это проблема с накопительным пакетом?

связанные REPL

Компонент.svelte:

<script>
export const answer = 42;
</script>

App.svelte:

<script>
import { answer } from './Component.svelte';
</script>

<h1>{answer}</h1>

Та же проблема возникает при импорте определения перечисления.

попробуйте заменить <script> на <script context = "module"> в Component.svelte. Я добавил это как ответ ниже.

A Paul 25.12.2020 19:11

подробнее об этом здесь: svelte.dev/tutorial/module-exports

kibe 25.12.2020 19:12
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
4
2
3 058
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Попробуйте заменить на в Component.svelte. Но обратите внимание, что он будет доступен только для чтения, независимо от того, как вы его определите (const или let), поэтому, если вы хотите изменить значение, вы можете создать для этого функцию установки или получения, а затем получить доступ к переменной, используя это.

 <script context = "module">
    export const answer = 42;
 </script>
Ответ принят как подходящий

Svelte использует синтаксис export для определения свойств компонента. Поэтому, если вы хотите использовать это export, как в современных модулях javascript, вы должны указать его компилятору Svelte, используя context = "module", например:

<script context = "module">
    export const answer = 42;
</script>

Ознакомьтесь с REPL и документом, чтобы узнать об этом немного больше.

Обратите внимание, что этот код и ссылка на REPL работают правильно, но если вы используете плагин Svelte IntelliJ v0.20.0, он будет неправильно жаловаться на импорт в соответствии с этой проблемой: github.com/tomblachut/svelte-intellij/issues /241

Shorn 27.07.2021 04:53

Другие вопросы по теме