使用 Webpack 时"cannot find module"的打字稿编译器需要 CSS/图像资产



我正在编写普通的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");

最新更新