我正在编写 vanilla Javascript,但使用 Typescript 编译器的 checkJs
选项在 VSCode 中进行类型检查。我将 Webpack 设置为加载各种 Assets 类型(CSS、图像等),这对于构建工作正常,但代码将这些语句视为错误。例如,在这段代码中
require("bootstrap");
require("bootstrap/dist/css/bootstrap.css");
var img = require("../img/image.png");
第一行很好,但接下来的两行都在 require()
的(字符串)参数下显示错误,工具提示为“找不到模块(名称)”。
我已经安装了 @types/webpack
和 @types/webpack-env
,它们修复了 resolve()
和 resolve。上下文()
。我是否缺少另一个打字包,或者这是我需要解决的问题 the DT issue tracker ?
最佳答案
为 VS Code 的 JavaScript 和 TypeScript intellisense 提供支持的 TypeScript 服务器目前不支持需要非 JS 或 TS 资源。这是跟踪此问题的问题:https://github.com/Microsoft/TypeScript/issues/15146
作为解决方法,尝试在您的项目中创建一个包含以下内容的 d.ts
文件:
declare module '*.css' { export default '' as string; }
declare module '*.png' { export default '' as string; }
您还可以通过在 require 之前添加 //@ts-ignore
来抑制个别错误:
// @ts-ignore
var img = require("../img/image.png");
关于javascript - 使用 Webpack 时 Typescript 编译器 "cannot find module"需要 CSS/图像 Assets ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45432951/