如何将浏览器中的单个spa实用程序模块导入到TypeScript地块项目中

如何将浏览器中的单个spa实用程序模块导入到TypeScript地块项目中,typescript,single-spa,Typescript,Single Spa,我有以下3个TypeScript项目: 根配置 包裹,让我们称之为我的应用程序 在浏览器实用程序模块中,我们将其称为api 以上所有项目都是使用createsinglespa命令生成的 在api/src/lomse api.ts文件中,我导出fetchPeople模块,如下所示: export { fetchPeople } from "./PeopleApi.ts"; 根据,鉴于我的orgName是lomse和projectName是api,我应该能够像这样将fetchP

我有以下3个TypeScript项目:

  • 根配置
  • 包裹,让我们称之为我的应用程序
  • 在浏览器实用程序模块中,我们将其称为
    api
  • 以上所有项目都是使用
    createsinglespa
    命令生成的

    api/src/lomse api.ts
    文件中,我导出
    fetchPeople
    模块,如下所示:

    export { fetchPeople } from "./PeopleApi.ts";
    
    根据,鉴于我的
    orgName
    lomse
    projectName
    api
    ,我应该能够像这样将
    fetchPeople
    模块导入
    myapp
    (包裹应用程序):

    import { fetchPeople } from '@lomse/api'
    
    由于
    my app
    project是一个TypeScript项目,上面的语句肯定会抛出以下错误:

    Cannot find module '@lomse/api' or its corresponding type declarations.
    

    有没有办法解决这个问题?

    这个错误是一个TypeScript错误,而不是JavaScript或单个spa错误。以下是您需要执行的操作选项:

  • 将实用程序模块发布到注册表(类型是可选的,因为TS可以从源代码推断,尽管类型更好)。然后将其安装到彼此的Microfront节点单元模块中。由于它是一个外部网页包,node_模块中的版本将仅用于typescript编译,而不用于在浏览器中执行
  • 您可以只发布这些类型,无论是作为单个包还是与其他Microfront的打字一起发布
  • 如前所述,模拟实用程序模块的类型
  • 资料来源: