Svelte-kit 和带有 Svelte src 的 NPM 模块

use*_*076 5 typescript svelte

我有一个用 typescript 编写的 npm 包,它还导出一些 svelte 组件,显然 svelte-kit 需要组件 src,而不是编译的组件,我已明确将此包的位置添加到 svelte-kittsconfig.json但我'我还在打Cannot use import outside a module:.... import App from "./components/App.svelte";(这import App...是模块 src 中的一行代码)

任何人都可以建议我需要在 npm package.json / build / typescript 中以及想要使用此包的 svelte-kit 应用程序上做什么/设置吗?

在我看来,我希望这个 npm 包完全从其 typescript src 中使用,并与应用程序的其余部分进行编译/捆绑,但不确定这是否可能。

Ant*_*vic 2

实际上,您也可以将 SvelteKit 用于包项目,它会为您处理设置:

通常,您将 SvelteKit 视为一个应用程序框架,其中文件夹的内容src/routes成为应用程序的公共页面,并且该src/lib文件夹用于共享代码,即内部库。但您可以用来svelte-kit package扭转这种范例:您的src/lib文件夹成为面向公众的包,并且src/routes可以用于测试、演示和文档。我们还可以使用文件配置包入口点(或包根),src/lib/index.jsSvelteKit 甚至可以在.d.ts文件内创建 TypeScript 定义! 您可以在文档中阅读有关使用 SvelteKit 打包库的更多信息。

快速入门说明:

  • 跑步npm init svelte@next my-toast-lib-name
  • 创建.js,.ts.svelte里面的文件src/lib
  • (可选)创建一个src/lib/index.ts文件以重新导出文件以便于导入
  • 运行npm install -D typescript svelte2tsx以安装打包所需的模块
  • 运行npm run package来打包你的库
  • 将包发布到 npm