Я пытаюсь скомпилировать компонент Svelte в веб-компонент.
- добавил параметр
<svelte:options tag="date-picker" immutable={true}/>
- добавил
customElement: true
в свертке к plugins: [ svelte()
- run
npm run build
Но я продолжаю получать сообщение:
(!) Плагин svelte: Опция тега пользовательского элемента не указана. Чтобы автоматически зарегистрировать пользовательский элемент, укажите имя с дефисом, например. Чтобы скрыть это предупреждение, используйте
Что я делаю не так?
Мой index.js
файл:
export { default as default } from './DatePicker.svelte';
DatePicker.svelte
файл:
<svelte:options tag="date-picker" immutable={true}/>
<script>
/* code */
Файл накопительного пакета:
import svelte from 'rollup-plugin-svelte';
import resolve from '@rollup/plugin-node-resolve';
import pkg from './package.json';
const name = pkg.name
.replace(/^(@\S+\/)?(svelte-)?(\S+)/, '$3')
.replace(/^\w/, m => m.toUpperCase())
.replace(/-\w/g, m => m[1].toUpperCase());
export default {
input: 'src/index.js',
output: [
{ file: pkg.module, 'format': 'es' },
{ file: pkg.main, 'format': 'umd', name }
],
plugins: [
svelte({
customElement: true
}),
resolve()
]
};
Похоже, что если ваш проект состоит из одного компонента, сообщение не появляется. Смотрите проблему здесь:
https://github.com/sil-vio/svelte-web-components/issues/2