经常在开源项目中看到根目录下有一个global.d.ts, 里面有如下声明
declare module '*.css';
declare module '*.less';
declare module '*.scss';
declare module '*.sass';
declare module '*.svg';
declare module '*.png';
这是起到什么作用呢
经常在开源项目中看到根目录下有一个global.d.ts, 里面有如下声明
declare module '*.css';
declare module '*.less';
declare module '*.scss';
declare module '*.sass';
declare module '*.svg';
declare module '*.png';
这是起到什么作用呢
10 回答11.1k 阅读
6 回答3k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
3 回答5.1k 阅读✓ 已解决
3 回答1.8k 阅读✓ 已解决
前置知识首先你得明白
declare module
的用法。然后下面讲为啥要declare
这几个module
。TS 默认只认 ES 模块。
但如果你用了 Webpack 之类的构建工具,是支持以模块形式导入非 ES 模块的,比如导入了一个 CSS:
这样 TS 不识别,会报错,所以要先把它们声明出来。
P.S. 目前的三大框架如果你是用脚手架搭建的,已经不再需要你手动去写这几行代码了,框架本身帮你写好了。