在Parcel 2中从JavaScript导入非代码资产.png会显示ts错误

问题描述

我正在使用Parcel v2捆绑器。它说以下有关导入静态文件的信息:

如果要将URL从Java脚本导入到图像(或声音文件等),则需要在url:之前添加到模块说明符(有关Plugin Configuration中命名管道的更多信息)

我尝试添加url:以及v1中的标准方法图片已正确捆绑,但我不断收到此ts错误

找不到模块'url:../ assets / parcel.png'或其对应的类型声明。 ts(2307)

error ts(2307) is VSCode

我有以下tsconfig.json

{
    "compilerOptions": {
        "jsx": "react",},}

由于Parcel捆绑包没有问题,所以我认为这与某些缺少的TypeScript配置有关。您能确认一下吗?

解决方法

基本上,这是从docs开始发生的事情:

要描述不是用TypeScript编写的库的形状,我们需要声明该库公开的API。

我们将没有定义实现的声明称为“环境”。通常,这些文件在.d.ts文件中定义。如果您熟悉C / C ++,则可以将它们视为.h文件。

在根目录中创建具有以下内容的.d.ts即可完成工作:

declare module 'url:*' {
  export default string;
}

如有其他疑问或问题,请参阅Parcel Github中的TypeScript: Handbook,Working with Other JavaScript Libraries

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...