我目前正在使用react学习打字本,最近我遇到了一个叫做.d.ts文件的新东西。是否有这样的东西被称为优化的方式来编写这个文件,还是由开发人员来创建这些标准?如果有标准的话,我可以问一下我写得是否正确吗?我只是尝试在我的打字稿中使用功能查询屏幕功能。谢谢。:-)
这是jsx代码
let enquireJs;
if (typeof window !== 'undefined') {
const matchMediaPolyfill = mediaQuery => {
return {
media: mediaQuery,
matches: false,
addListener() {
},
removeListener() {
},
};
};
window.matchMedia = window.matchMedia || matchMediaPolyfill;
enquireJs = require('enquire.js');
}
const mobileQuery = 'only screen and (max-width: 767.99px)';
export function enquireScreen(cb, query = mobileQuery) {
if (!enquireJs) {
return;
}
const handler = {
match: () => {
cb && cb(true);
},
unmatch: () => {
cb && cb();
},
};
enquireJs.register(query, handler);
return handler;
} 我自己的.d.ts文件
import enquireJS = require('enquire.js');
export const mobileQuery = 'only screen and (max-width: 767.99px)';
export function enquireScreen(cb: any, query = mobileQuery);发布于 2020-03-14 10:45:14
.d.ts文件是仅包含类型信息的声明文件。这些文件不会产生.js输出;它们只用于类型检查。TypeScript会自动在node_modules/@types下找到类型定义,因此不需要其他步骤就可以在应用程序中获得这些类型。
您还可以在tsconfig中"typeRoots" : ["./typings"]下或include下创建自己的类型文件夹。例如,您也可以在d.ts文件中进行类型声明。
declare type status = 'PENDING' | 'ACTIVE'如果tsconfig有这个d.ts文件的路径,这种类型就可以通过TypeScript应用程序获得。
我猜您的d.ts代码可能是:
declare const mobileQuery = 'only screen and (max-width: 767.99px)';
declare function enquireScreen(cb: any, query = mobileQuery);正如我前面所描述的,这个文件路径可以包含在您的tsconfig中。
https://stackoverflow.com/questions/60681735
复制相似问题