Typescript/ESLint错误:无法解析模块的路径';aws lambda';导入/否未解析

Typescript/ESLint错误:无法解析模块的路径';aws lambda';导入/否未解析,typescript,eslint,typescript-typings,typescript-eslint,Typescript,Eslint,Typescript Typings,Typescript Eslint,我有一个用typescript编写的无服务器项目。当我运行ESLint时,出现以下错误: 1:85 error Unable to resolve path to module 'aws-lambda' import/no-unresolved 对于以下代码行:从“aws lambda”导入{APIGatewayProxyEvent,APIGatewayProxyHandler,APIGatewayProxyResult}(在我的设计文件中有“^8.10.64””@types/aws

我有一个用typescript编写的无服务器项目。当我运行ESLint时,出现以下错误:

  1:85  error  Unable to resolve path to module 'aws-lambda'  import/no-unresolved
对于以下代码行:
从“aws lambda”导入{APIGatewayProxyEvent,APIGatewayProxyHandler,APIGatewayProxyResult}(在我的设计文件中有“^8.10.64”
”@types/aws lambda:“^8.10.64”)

我不明白会出现什么错误,因为类型已安装,如果我尝试从“@types/aws lambda”导入,代码会告诉我直接从“aws lambda”导入


请问我这里做错了什么?

这是我的.eslintrc文件中的配置

   "settings": {
        "import/parsers": {
            "@typescript-eslint/parser": [".ts", ".tsx"]
        },
        "import/resolver": {
            "typescript": {
                "alwaysTryTypes": true,
                "paths": "./tsconfig.json",
            },
        }
    },
我还注意到,在您的
tsconfig.json
文件中,您没有包含
typeroot
,因为您在
exclude
属性中排除了
node\u模块。应该是这样的

    "typeRoots": [
        "./node_modules/@types"
    ],
    "exclude": [
        "/node_modules/",
        ".serverless/**/*",
        ".webpack/**/*",
        "_warmup/**/*",
        "vscode/**/*",
        "lib/**/*",
        "tests"
    ]
如果所有这些都失败了,最后的办法是将其添加到
.eslintrc
文件中的忽略列表中

    "import/no-unresolved": [
        "error",
        {
            "ignore": [
                "aws-lambda"
            ]
        }
    ],

如果我在定义类型时使用
AWSLambda.APIGatewayProxyEvent
,它对我有效:

const event: AWSLambda.APIGatewayProxyEvent = ...

我不需要修改任何东西。

我的webpack.config.js看起来像这样-不幸的是,它没有帮助。我已将我的所有文件添加到此公共要点: