(!) Плагин svelte: Не указана опция тега для пользовательского элемента - PullRequest
2 голосов
/ 17 марта 2020

Я пытаюсь скомпилировать компонент Svelte в веб-компонент.

  1. добавил параметр <svelte:options tag="date-picker" immutable={true}/>
  2. добавил customElement: true в свертке к plugins: [ svelte()
  3. 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

...