さらに広い互換性が必要で、コンポーネントにscript
タグを含めるだけの場合は、document.currentScript
プロパティを使用して、rollup.js または webpack を使用して Javascript をスタンドアロン スクリプトにコンパイルできます。
import MyComponent from './MyComponent.svelte';
var div = document.createElement('DIV');
var script = document.currentScript;
script.parentNode.insertBefore(div, script);
const myComponent = new MyComponent({
target: div,
props: { propname: 'some value' },
});
rollup-plugin-svelte
プロジェクトに@rollup/plugin-node-resolve
パッケージがインストールされている場合は、ロールアップで素敵なパッケージをコンパイルできます。以下は、これに適した rollup.config.js で、コメントにさらにメモが追加されています。
import svelte from 'rollup-plugin-svelte';
import resolve from '@rollup/plugin-node-resolve';
export default {
input: 'embed.js',
output: {
format: 'iife',
file: 'dist.js',
sourcemap: false,
},
plugins: [
svelte({ emitCss: false, }),
resolve({ browser: true, dedupe: ['svelte'] }),
],
}