пути tsconfig не работают - PullRequest
       20

пути tsconfig не работают

0 голосов
/ 04 июня 2018

Я пытаюсь сделать что-то очень похожее на пример пути jquery в документации, но TS продолжает выдавать TS2307 (веб-пакет прекрасно компилируется):

"compilerOptions": {
    "baseUrl": "./src",
    "paths": {
        "@client": [
            "client",
        ],
        "@suir": [
            "../node_modules/semantic-ui-react/dist/commonjs", // not working
        ],
    },
    // …
},
"include": [
    "*.d.ts",
    "client/**/*",
    "../node_modules/semantic-ui-react", // is this necessary?
],

ИзменениеbaseUrl до "." и обновление includes и paths не имеет значения (@client продолжает работать и @suir продолжает не работать).

Изменение "@suir" на "@suir/"или "@suir/*" (и добавление /* к его значению) также не имеет значения.


Причина, по которой я это делаю, состоит в том, чтобы упростить мой импорт (я указываю их явно вместо вытягиванияименованный экспорт из пакета, чтобы уменьшить размер пакета поставщика (экономит около 1 МБ):

import Button from 'semantic-ui-react/dist/commonjs/elements/Button'; // works

import Button from '@suir/elements/Button'; // not found

1 Ответ

0 голосов
/ 16 июня 2018

Я понятия не имею, почему это работает в одиннадцатый раз, когда я пытался (но не в первые 10), но /* кажется секретным соусом, и пример в документах, очевидно, указывает наопределенный файл (и расширение файла опущено).

{
    "compilerOptions": {
        "baseUrl": "./src",
        "moduleResolution": "node", // was not set before, but is the default
        "paths": {
            "@client/*": [
                "client/*",
            ],
            "@suir/*": [ // notice the `/*` at the end
                "../node_modules/semantic-ui-react/dist/commonjs/*", // notice the `/*`
            ],
        },
        // …
    },
    "include": [
        "./src/client/**/*",
    ],
}
...