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

如何正确导出模块/发布包?解决“Cannot find module”问题

Backstage插件npm安装后导入失败的解决方案

1. 检查package.json核心配置

  • 确认main字段指向编译后的主入口文件,比如dist/index.js
  • 必须配置types字段指向类型声明文件,比如dist/index.d.ts,否则TypeScript无法识别类型
  • 检查files字段是否包含dist目录,确保发布到npm的包包含编译产物,避免只上传源码

参考正确配置片段:

{
  "main": "dist/index.js",
  "types": "dist/index.d.ts",
  "files": [
    "dist",
    "README.md"
  ]
}

2. 修正tsconfig.json编译设置

  • 开启declaration: true,确保TypeScript编译时生成.d.ts类型声明文件
  • 配置outDir: "dist",让编译产物统一输出到dist目录
  • 确保include字段覆盖所有需要编译的源码,比如src/**/*

参考关键配置片段:

{
  "compilerOptions": {
    "declaration": true,
    "outDir": "dist",
    "target": "ES2019",
    "module": "commonjs"
  },
  "include": ["src/**/*"]
}

3. 规范发布流程

  • 执行tsc编译后,手动检查dist目录是否生成了完整的.js和.d.ts文件
  • 发布前用npm pack生成本地测试包,解压后确认dist目录存在且文件完整
  • 发布时确保是基于dist编译产物,而非直接发布源码

4. 本地依赖验证

  • 在目标Backstage项目的node_modules/backstage-dev-friends-days目录下,检查是否存在dist文件夹
  • 如果没有,说明发布时未包含编译产物,调整package.json的files配置后重新发布

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 09:07:10