高级扩展配置#
警告
这是关于扩展配置的更高级部分。我们建议您先阅读简单扩展指南。
忽略来自环境的扩展#
默认情况下,JupyterLite 使用发现机制来包含本地环境中安装的扩展。
此发现行为可以使用 CLI 标志 --ignore-sys-prefix 或 LiteBuildConfig/ignore_sys_prefix 禁用。
--ignore-sys-prefix CLI 标志将禁用所有附加组件使用 JupyterLab 环境中的组件。此行为可以按每个附加组件以更精细的方式进行配置,例如
{
  "LiteBuildConfig": {
    "ignore_sys_prefix": ["federated_extensions"]
  }
}
例如,如果您从一个已安装扩展的环境中构建站点,并且不希望出现“副作用”,这会很有用。
在运行时禁用扩展#
所有第三方扩展以及 JupyterLite 和 JupyterLab 提供的一些扩展都可以通过 disabledExtensions 选项针对站点中部署的一个或所有应用程序禁用。
例如,一个不需要从 Python 内核获取内容的站点可以使用以下 jupyter-lite.json 禁用 ServiceWorker 插件
{
  "jupyter-lite-schema-version": 0,
  "jupyter-config-data": {
    "disabledExtensions": ["@jupyterlite/application-extension:service-worker-manager"]
  }
}
指定查找扩展的额外路径#
jupyter-lite CLI 支持提供额外的路径来查找扩展。
您可以在构建站点时指定 --FederatedExtensionAddon.extra_labextensions_path CLI 选项
jupyter lite build --FederatedExtensionAddon.extra_labextensions_path=/path/to/extra/labextensions
或者在 jupyter_lite_config.json 中
{
  "FederatedExtensionAddon": {
    "extra_labextensions_path": ["/path/to/extra/labextensions"]
  }
}
特定应用程序的扩展#
与上述类似,通过更新 $YOUR_JUPYTERLITE/{app}/jupyter-lite.json,预构建的扩展将仅适用于该文件树中的页面。
添加自定义扩展#
通过将扩展放置在 {lite-dir}/extensions/{org/?}{package}/ 下,这些扩展也将在任何环境扩展之后复制到 output-dir 中,并且所有扩展都将添加到 {output-dir}/jupyter-lite.json#jupyter-config-data/federated_extensions 中。
提示
例如,在构建 Lab 扩展后,您可以将 packages.json#/jupyterlab/outputDir 的内容直接复制到 lite-dir 中以预览您的扩展。
最后,--federated-extensions CLI 标志和 LiteBuildConfig/federated_extensions 配置条目允许添加额外的联合扩展,这些扩展打包在
- PyPI - .whl
 
- conda-forge - .tar.bz2
- .conda(见下文警告)
 
使用 libarchive#
如果检测到,将使用 libarchive-c 以获得更好的性能,尤其是在处理具有许多/大型资产的存档时,尤其是 pyodide。
如果未检测到 libarchive-c,将使用 Python 内置的 zipfile 和 tarfile 模块。
警告
从 .conda 包中提取联合扩展需要 libarchive-c。