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 以获得更多详细信息和示例。
我是 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 以获得更多详细信息和示例。