Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/409.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 类型脚本编译器“;找不到模块";使用网页包时需要CSS/图像资产_Javascript_Typescript_Webpack_Visual Studio Code - Fatal编程技术网

Javascript 类型脚本编译器“;找不到模块";使用网页包时需要CSS/图像资产

Javascript 类型脚本编译器“;找不到模块";使用网页包时需要CSS/图像资产,javascript,typescript,webpack,visual-studio-code,Javascript,Typescript,Webpack,Visual Studio Code,我正在编写普通Javascript,但使用Typescript编译器的checkJs选项在VSCode中进行类型检查。我已经设置了Webpack来加载各种资产类型(CSS、图像等),这对于构建很好,但代码将这些语句视为错误。例如,在这段代码中 require("bootstrap"); require("bootstrap/dist/css/bootstrap.css"); var img = require("../img/image.png"); 第一行很好,但接下来的两行都在requir

我正在编写普通Javascript,但使用Typescript编译器的
checkJs
选项在VSCode中进行类型检查。我已经设置了Webpack来加载各种资产类型(CSS、图像等),这对于构建很好,但代码将这些语句视为错误。例如,在这段代码中

require("bootstrap");
require("bootstrap/dist/css/bootstrap.css");
var img = require("../img/image.png");
第一行很好,但接下来的两行都在
require()
的(string)参数下显示错误,工具提示为“找不到模块(名称)”


我安装了
@types/webpack
@types/webpack env
,修复了
resolve()
resolve.context()
。我是否缺少另一个typings软件包,或者这是我需要解决的问题?

需要非JS或TS资源的TypeScript服务器目前不受支持,该服务器支持VS Code的JavaScript和TypeScript intellisense。以下是跟踪此问题的问题:

作为一种解决方法,请尝试在项目中创建一个
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");

您可以让它工作,但必须创建一个类型声明文件。没有办法用vanilla JS来表达资产合成模块。你能不能有一个链接来说明如何做到这一点?我对Typescript了解不多,我只是想利用类型检查,但我不想在我的代码中乱扔
/@ts ignore
,所以我试图“正确地”修复它。我的
@ts ignore
到处都是,但如果有一个更一致的默认行为就好了。谢谢我可能说得太早了——我现在看到
[js]类型'typeof'*.svg'不能分配给类型'string'。
。但我正在导出“作为字符串”--给出了什么?(您的示例确实消除了
require(“path/to/which.css”)
的错误,因为返回值从未分配给任何对象。)现在,这很有趣。按照您的建议,我在我的
globals.d.ts
中添加了许多
declare module
行。将
require(“path/to/my.svg”)
分配给
字符串类型的var会出现“不可分配”错误,但
将mySvg从“path/to/my.svg”导入;aStringVar=mySvg非常有效。也许我在
require()
中发现了一个bug?现在,我将所有的需求都更改为导入,因为Webpack显然可以很好地处理这两个问题。