You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在StencilJS项目间复用组件?支持defineCustomComponents或script标签吗?

StencilJS跨项目组件使用问题解答

始终未找到官方相关解答,特此咨询:能否在一个StencilJS组件项目中使用另一个StencilJS项目的defineCustomComponents?或是仅通过script标签即可导入不同包中的组件?示例代码如下:

<script scr="<path-to-package>" />

两种可行的实现方式

1. 调用defineCustomComponents导入

完全可以在当前StencilJS项目中使用另一个项目导出的defineCustomComponents方法,步骤如下:

  • 先将目标StencilJS项目构建为可复用包,执行npm run build生成dist目录,然后在当前项目中安装该包(本地包用npm install ../path-to-target-project,已发布包直接npm install package-name)。
  • 在当前项目的入口文件(如src/index.ts)或组件初始化逻辑中导入并调用方法:
    import { defineCustomComponents } from 'target-stencil-package/loader';
    
    defineCustomComponents();
    
  • 完成后即可在当前项目的模板中直接使用目标项目的自定义组件。

2. 通过script标签直接导入

也支持用script标签直接导入组件包,注意修正示例代码中的拼写错误(scr改为src):

<script src="<path-to-package>/dist/target-package.js"></script>
  • 路径可以是本地文件路径、CDN地址或npm包的unpkg地址。
  • 脚本加载完成后,目标组件会自动注册,直接在HTML中使用即可。

内容的提问来源于stack exchange,提问作者Andy95

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 15:40:01