如何在 svelte 中公开一个可以接受参数进行渲染的函数?

How to expose a function in svelte that can accept parameters to render?

我是 svelte 的新手,对于我的用例,我想将 svelte 应用程序导出为 bundle.js,它公开了一个函数,比方说 startApp(positionInject, appConfiguration) 可以接受 2 个参数( positionInject 是应用程序注入位置,例如:.app,appConfiguration 是应用程序启动的初始配置),基于这些参数 svelte 应用程序启动呈现。

我想知道,这在 svelte 中可行吗?

感谢任何帮助。

每个 Svelte 组件都采用 target 元素和 props 作为构造函数参数。您可以将构造包装在一个函数中:

import App from './App.svelte';

export function startApp(selector, props) {
  const target = document.querySelector(selector)

  return new App({
    target,
    props
  })
}

你可以这样称呼它:

import {startApp} from "./bundle.js"

startApp(".my-app", {config: ...})