TS7016:找不到声明文件。我可以添加
我需要与ssl-validator一起 ssl-validator - 验证由用户上传的SSL证书。该库没有index.d.ts文件,如果我正确理解此原理,我必须添加它。 我的文件结构:
├── package-lock.json
├── package.json
├── index.ts
├── tsconfig.json
└── typings
└── sslValidator.d.ts
index.ts:
import * as sslValidator from 'ssl-validator';
const { validateSSLCert, isValidSSL } = sslValidator;
const main = async () => {
const result = await isValidSSL(
"-----BEGIN CERTIFICATE-----\n" +
<CERTIFICATE>
"-----END CERTIFICATE-----"
);
return result;
}
main();
sslvalidator.d.ts:
declare module 'ssl-validator' {
function isValidSSL (certificate: string): Promise<boolean>;
function validateSSLCert (certificate: string): Promise<any>;
}
tsconfig.json:
{
"compilerOptions": {
"module": "commonjs",
"target": "ES2017",
"noImplicitAny": true,
"strictNullChecks": false,
"lib": ["es2017", "dom", "esnext.asynciterable"],
"moduleResolution": "node",
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"outDir": "dist",
"baseUrl": ".",
"sourceMap": true,
"typeRoots": ["typings"],
"traceResolution": false
},
"include": ["*/*.ts"],
}
静态代码分析没有突出任何内容,但是在运行后,我得到了:
index_t.ts:1:31 - error TS7016: Could not find a declaration file for module 'ssl-validator'. '/Users/nikita/Desktop/code/aws_sandbox/node_modules/ssl-validator/lib/index.js' implicitly has an 'any' type.
Try `npm i --save-dev @types/ssl-validator` if it exists or add a new declaration (.d.ts) file containing `declare module 'ssl-validator';`
1 import * as sslValidator from 'ssl-validator';
~~~~~~~~~~~~~~~
我做错了什么?
PS在库中打字有其他选择吗?
I need to work with ssl-validator ssl-validator in my nodeJs(typescript) project - to validate ssl certificate uploaded by user. The library doesn't have index.d.ts file and I have to add it if I understood this principle correct.
My file structure:
├── package-lock.json
├── package.json
├── index.ts
├── tsconfig.json
└── typings
└── sslValidator.d.ts
index.ts:
import * as sslValidator from 'ssl-validator';
const { validateSSLCert, isValidSSL } = sslValidator;
const main = async () => {
const result = await isValidSSL(
"-----BEGIN CERTIFICATE-----\n" +
<CERTIFICATE>
"-----END CERTIFICATE-----"
);
return result;
}
main();
sslValidator.d.ts:
declare module 'ssl-validator' {
function isValidSSL (certificate: string): Promise<boolean>;
function validateSSLCert (certificate: string): Promise<any>;
}
tsconfig.json:
{
"compilerOptions": {
"module": "commonjs",
"target": "ES2017",
"noImplicitAny": true,
"strictNullChecks": false,
"lib": ["es2017", "dom", "esnext.asynciterable"],
"moduleResolution": "node",
"emitDecoratorMetadata": true,
"experimentalDecorators": true,
"outDir": "dist",
"baseUrl": ".",
"sourceMap": true,
"typeRoots": ["typings"],
"traceResolution": false
},
"include": ["*/*.ts"],
}
Static code analysis doesn't underline anything, but after running I get:
index_t.ts:1:31 - error TS7016: Could not find a declaration file for module 'ssl-validator'. '/Users/nikita/Desktop/code/aws_sandbox/node_modules/ssl-validator/lib/index.js' implicitly has an 'any' type.
Try `npm i --save-dev @types/ssl-validator` if it exists or add a new declaration (.d.ts) file containing `declare module 'ssl-validator';`
1 import * as sslValidator from 'ssl-validator';
~~~~~~~~~~~~~~~
What do I do wrongly?
p.s. Is there any alternative of ssl-validator with typing in library?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论