使用打字稿在客户端和服务器之间共享代码

用户名

所以我发现这篇文章在separat TypeScript项目之间共享接口,但没有得到答案,我现在面临相同的问题,我在项目根目录中有一个客户端,服务器和共享文件夹,客户端和服务器都有tsconfig在他们的根目录和带有打字稿文件的src文件夹中,我希望能够像

import { PromotionInterface } from '@shared/Promotion';

但是使用下面的tsconfig表示找不到模块

{
  "compilerOptions": {
    "target": "es5",
    "lib": [
      "dom",
      "dom.iterable",
      "esnext"
    ],
    "allowJs": true,
    "skipLibCheck": true,
    "esModuleInterop": true,
    "allowSyntheticDefaultImports": true,
    "strict": true,
    "forceConsistentCasingInFileNames": true,
    "module": "esnext",
    "moduleResolution": "node",
    "rootDirs": [
      "src",
      "../shared"
    ],
    "paths": {
      "@shared/*": [
        "../shared/*"
      ]
    },
    "resolveJsonModule": true,
    "isolatedModules": true,
    "noEmit": true,
    "jsx": "preserve"
  },
  "include": [
    "src"
  ]
}

有没有办法使这项工作?

Mehmetseckin

您需要baseUrl按照以下tsconfig错误中的指示将存储库的根目录指定为

Option 'paths' cannot be used without specifying '--baseUrl' option.ts

然后,您可以指定对于基本URL的路径

"baseUrl": "../",
"paths": {
  "@shared/*": [
    "shared/*"
  ]
},

我认为您不需要在includeorrootDir数组中包含共享文件夹路径以下配置对我有用:

{
  "compilerOptions": {
    "target": "es5",
    "lib": [
      "dom",
      "dom.iterable",
      "esnext"
    ],
    "allowJs": true,
    "skipLibCheck": true,
    "esModuleInterop": true,
    "allowSyntheticDefaultImports": true,
    "strict": true,
    "forceConsistentCasingInFileNames": true,
    "module": "esnext",
    "moduleResolution": "node",
    "rootDirs": [
      "src"
    ],
    "baseUrl": "../",
    "paths": {
      "@shared/*": [
        "shared/*"
      ]
    },
    "resolveJsonModule": true,
    "isolatedModules": true,
    "noEmit": true,
    "jsx": "preserve"
  },
  "include": [
    "src"
  ]
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在GWT客户端代码和服务器代码之间共享类?

如何使用Java套接字实现客户端和服务器之间的文件传输

Java客户端-服务器编程:客户端之间的共享内存

编写与客户端javascript和服务器端NodeJs模块一起使用的javascript代码

客户端和服务器流星之间的共享集合

如何使用NodeJS组织构建,服务器,客户端和共享JavaScript代码

如何在客户端和服务器之间共享Javascript业务规则?

使用Gradle在Kotlin服务器和客户端项目之间共享代码

在客户端和服务器之间共享TypeScript类

在客户端/服务器之间共享但使用REST方法的Typesafe RPC

无法在react-native中使用socket.io在客户端和服务器之间发送消息

如何使用打字稿客户端读取预提取的服务器端数据?

客户端和服务器端渲染之间的区别

如何在客户端和服务器之间安全地共享密码?

客户端和服务器之间的共享模型

如何在客户端和服务器上与Polymer共享数据结构

使用客户端和服务器应用程序之间共享的类设置Typescript项目?

节点套接字io-在套接字之间以及客户端和服务器之间共享全局对象

客户端和服务器端javascript中“ this”的值之间的差异

为什么DHCP使用UDP端口67和68进行客户端和服务器之间的通信?

在客户端和服务器端使用相同的呈现代码

挂载的SMB共享:客户端和服务器之间的UID不匹配的权限问题

客户端和服务器使用相同的代码

客户端和服务器端(GWT)之间的日期更改

节点中客户端和服务器之间共享变量

在客户端和服务器猫鼬模型之间共享Typescript接口

如何在Express,React,Webpack,SSR应用程序中的客户端和服务器之间共享常量

使用 TNS 的客户端和服务器机器之间的 Oracle 数据库 12c 网络

在客户端和服务器端之间发送信息和变量