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

Stencil配置copy报错:copy属性不存在于StencilConfig类型

报错原因

Stencil 的静态资源复制配置项 copy 不属于顶层 StencilConfig 的合法属性,从Stencil v2及之后的版本开始,所有文件复制规则必须绑定到具体的输出目标(outputTargets)上,直接在配置根节点写copy就会触发类型校验报错。

正确配置方法

把你写的copy规则挪到需要输出i18n资源的对应输出目标内部即可,常见输出目标的配置示例如下:

import { Config } from '@stencil/core';

export const config: Config = {
  namespace: 'components',
  plugins: [
    // 原有插件配置保持不变
  ],
  outputTargets: [
    // 本地调试用的www站点输出
    {
      type: 'www',
      // 把copy配置放在对应outputTarget内部
      copy: [
        {
          src: "**/*.i18n.*.json",
          dest: "i18n",
          warn: true
        }
      ],
      // 其余www相关配置保持不变
    },
    // 生产环境组件库dist输出
    {
      type: 'dist',
      copy: [
        {
          src: "**/*.i18n.*.json",
          dest: "i18n",
          warn: true
        }
      ]
    }
    // 如果使用了dist-custom-elements、dist-hydrate-script等其他输出目标,需要在对应目标内单独加copy配置
  ],
};
配置说明
  • 每个输出目标的copy规则独立生效,你需要在哪个输出目录访问i18n文件,就给对应outputTarget加规则,不需要的目标无需配置
  • 路径规则:src 是相对于项目源码目录(默认是./src)的glob匹配路径,dest 是相对于当前输出目标的输出目录的路径,比如上面www目标的配置,最终会把匹配到的i18n文件输出到www/i18n目录下
  • 如果i18n文件不在src目录下,比如存放在根目录的locales文件夹,需要调整src路径为"../locales/**/*.i18n.*.json"
  • 开启warn: true后,如果构建时没有匹配到对应文件,控制台会输出警告,方便排查路径写漏的问题
  • 配置完成后重新执行stencil build,即可在对应输出目录找到复制好的i18n资源文件

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 13:18:16