我正在编写普通的Javascript,但使用Typescript编译器的checkJs
选项在VSCode中进行类型检查。 我设置了 Webpack 来加载各种资产类型(CSS、图像等(,这对于构建来说效果很好,但代码将这些语句视为错误。 例如,在此代码中
require("bootstrap");
require("bootstrap/dist/css/bootstrap.css");
var img = require("../img/image.png");
第一行很好,但接下来的两行都在 (string( 参数下显示错误以require()
,工具提示为"找不到模块(名称("。
我已经安装了@types/webpack
和@types/webpack-env
,它修复了resolve()
和resolve.context()
。 我是否缺少另一个打字包,或者这是我需要在DT问题跟踪器上处理的问题?
TypeScript 服务器目前不支持需要非 JS 或 TS 资源,该服务器为 VS Code 的 JavaScript 和 TypeScript 智能感知提供支持。这是跟踪此问题的问题:https://github.com/Microsoft/TypeScript/issues/15146
解决方法是尝试在项目中创建一个包含以下内容的d.ts
文件:
declare module '*.css' { export default '' as string; }
declare module '*.png' { export default '' as string; }
您还可以通过在要求之前添加// @ts-ignore
来禁止显示单个错误:
// @ts-ignore
var img = require("../img/image.png");