如何处理转译后的 JS 的路径?

问题描述 投票:0回答:1

所以我有一个 monorepo 工作区,其中有一个与我的 Express 应用程序共享的公共文件夹。我的公共文件夹在 common/dist 中转换为 JS,我希望我的转换后的快速代码能够访问它。那么,当我的 ts 文件使用 common/schema 但 js 文件需要 common/dist/schema 时,我该如何处理导入呢?

typescript transpiler
1个回答
0
投票

要在 TypeScript 文件使用

common/schema
但 JavaScript 文件需要
common/dist/schema
时处理导入,您可以使用 TypeScript 路径映射并适当配置模块分辨率。

设置方法如下:

  1. 配置 TypeScript 路径映射:在 TypeScript 配置文件 (

    tsconfig.json
    ) 中,您可以定义别名
    common/schema
    common/dist/schema
    的路径映射。这允许 TypeScript 解析从
    common/schema
    的导入到正确的转译 JavaScript 文件。

    {
      "compilerOptions": {
        "baseUrl": ".",
        "paths": {
          "common/schema": ["common/dist/schema"]
        }
      }
    }
    
  2. 在 TypeScript 文件中使用相对导入:在 TypeScript 文件中,使用相对路径导入模块 (

    import ... from './schema'
    )。 TypeScript 将根据路径映射配置解析这些导入。

  3. 编译 TypeScript 代码:编译 TypeScript 代码时,请确保它在正确的目录中生成 JavaScript 文件 (

    common/dist
    )。

  4. 在 JavaScript 文件中需要转译模块:在 JavaScript 文件中,您可以使用适当的相对路径 (

    require('./schema')
    ) 来要求转译模块。

通过此设置,TypeScript 会将从

common/schema
的导入解析为位于
common/dist/schema
中的正确转译 JavaScript 文件,从而允许您的 TypeScript 和 JavaScript 文件在 Express 应用程序中无缝协作。

© www.soinside.com 2019 - 2024. All rights reserved.