经常在开源项目中看到根目录下有一个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.7k 阅读
2 回答3.2k 阅读✓ 已解决
2 回答4.2k 阅读✓ 已解决
3 回答1.9k 阅读✓ 已解决
3 回答2.7k 阅读✓ 已解决
2 回答1.7k 阅读✓ 已解决
4 回答2.5k 阅读✓ 已解决
前置知识首先你得明白
declare module
的用法。然后下面讲为啥要declare
这几个module
。TS 默认只认 ES 模块。
但如果你用了 Webpack 之类的构建工具,是支持以模块形式导入非 ES 模块的,比如导入了一个 CSS:
这样 TS 不识别,会报错,所以要先把它们声明出来。
P.S. 目前的三大框架如果你是用脚手架搭建的,已经不再需要你手动去写这几行代码了,框架本身帮你写好了。