网站搜索

node.js - 在 TypeScript 的无服务器 Node.js 应用中解析相对路径


我们有一个用 TypeScript 编写的 NodeJS 应用程序。我们使用相对路径的模块,例如

import foo from '@/bar';

我们在 tsconfig.json 中有以下路径条目

"paths": {
  "@/*": [
    "./*"
  ]
}

由于 TypeScript 不支持路径转换,我们正在使用 ttypescript 进行编译,并用 tsconfig.build.json 覆盖 tsconfig.json

{
  "extends": "./tsconfig.json",
  "compilerOptions": {
    "plugins": [
      {
        "transform": "@zerollup/ts-transform-paths"
      }
    ]
  },
  "exclude": ["node_modules/**", "tests/**"]
}

并使用 yarn 构建代码

yarn clean && ttsc --project ./tsconfig.build.json

现在这个构建会编译代码并将相对的 @module 路径转换为绝对路径。

接下来,我们将使用 Serverless 框架将此代码构建并部署为 Lambda。Serverless 使用 tsconfig.json 来构建代码,并有效地忽略自定义路径转换。

问题:

  1. 有可能在不使用 ttypescript 和插件的情况下解决上述问题吗?
  2. 是否可以配置无服务器使用 ttypescript 和自定义 tsconfig
  3. 还有其他解决这个问题的方法吗?

谢谢