Импортируйте файл svelte html в файл js, используя накопительный пакет

Js файл:

import template from './Template.html';

class VacationListForCompany extends HTMLElement {

constructor() {
    super();
    const root = this.attachShadow({mode:'open'});

    const t = new template({ target: root });

  }
}

window.customElements.define("vacation-list-for-company", 
VacationListForCompany);

Svelte / HTML-файл

<h1> This is from SVELTE </h1>
<script>
    export default {
    };
</script>

И в моем Rollupfile импорт svelte из 'rollup-plugin-svelte';

export default {
   input: 'Widgets/VacationListForCompany/widget.js',
   output: {
      format: 'iife',
      file: 'dist/vacationlistforcompany.js',
  },
  plugins: [
    svelte({ include:'*.html'})
  ],
};

Похоже, что сведение не может генерировать компонент svelte при импорте. Я что-то здесь неправильно понимаю?

2 ответа

Конечно, это была ошибка с моей стороны...

svelte({ include:'*.html'}) 

по какой-то причине написано с ошибкой, удаление этого заставило его работать..

По умолчанию Svelte компилирует файл HTML в компонент Svelte. См. Документы по API компонента Svelte.

Чтобы создать собственный элемент вместо этого, вам нужно передать customelement: true компилятору (в вашем случае, установив его в параметрах, передаваемых rollup-plugin-svelte). Смотри PR 797

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