javascript - 如何在 Typescript 中使用绝对路径?

标签 javascript node.js typescript import tsconfig

我有一个在 NodeJS 上用 Typescript 编写的项目。我正在为我的模块使用相对路径来导入另一个。但是随着项目的增长,这种用法变得越来越脏。因此,我想将相对路径转换为绝对路径。

这是我的项目文件夹结构:

src
├── controllers
├── repositories
├── services
│   ├── user.service.ts
|── tsconfig.json

我想使用导入另一个模块,如下所示。
import userServices from "src/services/user.service";

tsconfig.json
"moduleResolution": "node",
"baseUrl": ".",
"paths": {
  "*": ["src/*"]
}

以上配置不适用于我的工作区。

你能帮我解决这个问题吗?

最佳答案

有一个 typescript 允许这样做的功能。

您可以修改您的src/tsconfig.json启用此功能的文件,位于 compilerOptions 下,添加以下内容:

{
  "compilerOptions": {
    // ...
    "paths": {
      "*": [
        "./*",
        "app/*",
        "../node_modules/*"
      ]
    }
}

您显然可以根据需要更改模式键和值。您添加或删除文件夹,您可以更改顺序等。

您也可以选择前缀而不只是 * (尤其是遇到问题时),您可以使用 ~/* 之类的东西,然后您的导入将全部来自 '~/shared/sample'等等

关于javascript - 如何在 Typescript 中使用绝对路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60545539/

相关文章:

javascript - 用于复杂 Web 项目的单元测试框架/工具

javascript - 基于 Svelte 类的组件示例

javascript - 从类名字符串实例化一个对象

node.js - Nodejitsu 应用程序在启动后立即停止

node.js - Mongoose Auth Error : command find requires authentication. 但我做到了

node.js - 由于预发布,Node 应用程序无法运行

javascript - 如何将缺失值添加到两个关联数组? (JavaScript)

javascript - 具有特定子元素的查询选择器

node.js - 需要带有 TypeScript、SystemJS 和 Electron 的 nodejs "child_process"

javascript - 如何导入只有 JSDoc 注释的 JavaScript 模块