运行
npx tsc
会导致以下错误:
node_modules/@twilio-labs/serverless-runtime-types/types.d.ts:5:10 - error TS2305: Module '"twilio/lib/rest/Twilio"' has no exported member 'TwilioClientOptions'.
5 import { TwilioClientOptions } from 'twilio/lib/rest/Twilio';
~~~~~~~~~~~~~~~~~~~
node_modules/@twilio-labs/serverless-runtime-types/types.d.ts:415:10 - error TS2305: Module '"twilio/lib/rest/Twilio"' has no exported member 'TwilioClientOptions'.
415 export { TwilioClientOptions } from 'twilio/lib/rest/Twilio';
~~~~~~~~~~~~~~~~~~~
看起来实际的 TS 文件本身仍在成功编译,但我不确定是否可以安全地忽略此错误,以及是否可以采取措施来避免它。我不知道问题是否是某种依赖性不匹配或什么。
最低可重复说明:
函数/test.ts
import { ServerlessFunctionSignature } from '@twilio-labs/serverless-runtime-types/types';
export const handler: ServerlessFunctionSignature = async function(
context,
event,
callback
) {
callback(null, true);
}
tsconfig.json
{
"compilerOptions": {
"target": "ES6",
"module": "commonjs",
"outDir": "./compiled",
"rootDir": "./functions",
"strict": true,
"esModuleInterop": true,
"types": ["@twilio-labs/serverless-runtime-types/index.d.ts"],
}
}
package.json
{
"name": "test",
"version": "1.0.0",
"dependencies": {
"@twilio-labs/serverless-runtime-types": "^3.0.0",
"twilio": "^4.23.0"
},
"devDependencies": {
"typescript": "^5.3.3"
}
}
如果您想使用 TypeScript 中的类型在 VS Code 和其他使用 TypeScript 语言服务器的编辑器中获得自动完成功能:
选项 1:修改 tsconfig.json
{
"compilerOptions": {
"types": ["node_modules/@twilio-labs/serverless-runtime-types/index.d.ts"]
}
}
选项 2:导入文件
import "@twilio-labs/serverless-runtime-types";
export function handler(context, event, callback) {
let twiml = new Twilio.twiml.MessagingResponse();
twiml.message("Hello World");
callback(null, twiml);
}