打字稿,路径别名与项目根目录之外的文件夹

Lol*_*llo 11 node.js typescript

我很抱歉我的英语不好XD我希望能很好地解释自己。

我正在构建一个像这样的全栈打字稿项目:

./
    package.json
    src/
        _shared/
            extensions/
                date-extension.ts
                object-extension.ts
                string-extension.ts
        restapi/
            dist/
                [...]
            src/
                [...]
            tsconfig.json
            package.json
            package-lock.json
        weapp/
            dist/
                [...]
            src/
                [...]
            tsconfig.json
            package.json
            package-lock.json
Run Code Online (Sandbox Code Playgroud)

此时文件夹 ./src/_shared/extensions 存在于 ./src/webapp (前端)和 ./src/restapi (后端)中,这两个项目都是单独的项目(因此它们有自己的 node_modules 文件夹和包)。 json 文件),但两者对于字符串、对象和日期类型都有相同的扩展方法。

实际上在restapi项目中我的tsconfig看起来像这样:

{
    "compilerOptions": {
        "experimentalDecorators": false,
        "target": "es6",
        "module": "commonjs",
        "sourceMap": true,
        "outDir": "./dist",
        "strict": true,
        "esModuleInterop": false,
        "forceConsistentCasingInFileNames": true,
        "allowSyntheticDefaultImports": true,
        "resolveJsonModule": true,
        "baseUrl": "src",
        "paths": {
            "@src/*": [
                "./*"
            ],
            "@shared/*": [
                "../../_shared/*"
            ]
        }
    },
    "include": [
        "./src/**/*",
        "../../_shared/**/*"
    ],
    "exclude": [
        "./node_modules",
        "**/*.spec.ts"
    ]
}
Run Code Online (Sandbox Code Playgroud)

[编辑] 但编译器创建一个 ./dist 文件夹,如下所示:

./dist
    _shared/
        extensions/
            [...]
    restapi/
        src/
            [...]
Run Code Online (Sandbox Code Playgroud)

如果我将 ./src/_shared/extensions 移动到 ./src/restapi/src 文件夹中,编译器会创建一个 ./dist 文件夹,如下所示:

./dist
   [...]
Run Code Online (Sandbox Code Playgroud)

如何将 ./src/_shared 文件夹引用到我的项目中,并将 _shared 文件夹保留在项目根目录之外?

一如既往地感谢大家!:)