TypeScript error : TS2305: Module '"./secretManager/secret"' has no exported member

TypeScript error : TS2305: Module '"./secretManager/secret"' has no exported member

我是 TypeScript 的新手。我遇到错误但无法理解其含义:-

(@simpplr/integrations-fetch) $ tsc -b tsconfig.build.json src/index.ts(1,10): error TS2305: Module '"./secretManager/secret"' has no exported member 'getWorkDayCredentials'.
error Error
error     at ChildProcess.<anonymous> (/Users/vkumar/go/mywork/mydevelopment/simpplr/third-party-integrations/node_modules/bolt/dist/modern/utils/processes.js:128:16)
make: *** [build] Error 1

index.ts:-

import { getWorkDayCredentials } from './secretManager/secret';

exports.lambdaHandler = async (event, context) => {
    console.log('Fetch Lambda trigger by event ', event);
    let response = null;
    try {
        //Calling Secret Manager
        let secretName = 'myworkdaysecret-dev';
        let region = 'us-east-2';
        response = await getWorkDayCredentials(region, secretName);
    } catch (err) {
        console.log(err);
        return err;
    }
    return response;
};

Secret.ts:-

import * as AWS from 'aws-sdk';

module.exports.getWorkDayCredentials = async (region, secretName) => {
    console.log('Invoking AWS Secret Manager services');
    // Create a Secrets Manager client
    let client = new AWS.SecretsManager({
        region: region
    });
    const data = await client.getSecretValue({ SecretId: secretName }).promise();
    console.log(data);
    return data;
};

请参考附件截图。从 secret.ts 文件导入此 getWorkDayCredentials 模块时,出现一些错误,在构建它时也出现同样的错误。

您需要使用标准的 TypeScript 导入和导出语法,而不是使用特定于平台的功能,例如 module.exports。在这种情况下,您需要 secret.ts:

export const getWorkDayCredentials = async (region, secretName) => {
    // ...
};

您还需要在 index.ts 中进行类似更改:

export const lambdaHandler = async (event, context) => {
    // ...
};

我建议您查看 TypeScript 指南的 Modules section 以获得更多详细信息和示例。