6

我有一个要为其创建别名的节点模块。

我有以下配置:

// tsconfig.json
{
    "compilerOptions": {
        ...
        "allowJs": true,
        "module": "commonjs",
        "target": "es6",
        "jsx": "react",
        "esModuleInterop": true,
        "experimentalDecorators": true,
        "baseUrl": "./",
        "moduleResolution": "node",
        "paths": {
            "@my-lib/*": [
                "node_modules/my-lib/src/Components/*"
            ]
        }
    },
    "exclude": ["node_modules"]
}


// webpack.config.js
resolve: {
        extensions: ['.js', '.jsx', '.tsx', '.ts'],
        alias: {
            '@my-lib': path.resolve(
                './node_modules/my-lib/src/Components'
            ),
        }
    },

// eslintrc.json
"settings": {
        "import/parsers": {
            "@typescript-eslint/parser": [".ts", ".tsx"]
        },
        "import/resolver": {
            "typescript": {},
            "alias": {
                "map": [
                    [
                        "@my-lib",
                        "./node_modules/my-lib/src/Components"
                    ]
                ],
                "extensions": [".js", ".jsx", ".ts", ".tsx"]
            }
        }

但是当从 my-lib 导入模块时,vscode 自动导入会将其解析为: my-lib/src/Components/...

我拥有的另一个配置是:( "typescript.preferences.importModuleSpecifier": "relative",尽管我也尝试过自动和非相对)

我几乎尝试了baseUrl和的所有组合paths
感谢任何帮助!

4

0 回答 0