javascript - 当路径明确时声明 Typescript 模块
问题描述
我有一个项目,我需要明确定位与浏览器兼容的包版本,以便 webpack 可以正确捆绑它。
import { optimize, extendDefaultPlugins } from 'svgo/dist/svgo.browser'
通常,导入是:
import { optimize, extendDefaultPlugins } from 'svgo'
这很好用,因为有可用的类型@types/svgo
。
当我从中导入时'svgo/dist/svgo.browser'
出现错误Could not find a declaration file for module 'svgo/dist/svgo.browser'
。如何通过将可用类型包重新路由@types/svgo
到我更明确的导入语句来解决此错误?
解决方案
我从 TypeScript 方面不知道,但是由于您使用的是 Webpack,因此您可以作弊并别名 'svgo'
为'svgo/dist/svgo.browser'
:
resolve: {
alias: {
svgo: require.resolve('svgo/dist/svgo.browser')
}
}
由于 TypeScript 不知道 Webpack 别名,它只会将您视为导入“普通”模块,并且@types/svgo
默认情况下会获得增强功能,但 Webpack 会为您的包引入正确的代码。
推荐阅读
- http - 为 Jboss 管理控制台 URL 配置 HTTP 标头
- discord.js - 无法读取未定义的属性“执行”
- java - 58P01 错误:无法打开文件“.\src\main\resources\data\court.csv”进行阅读:没有这样的文件或目录
- c# - 使用启动
vs UseStartup(nameof(YourAssembly)) - javascript - 是否可以在 VueJS(Quasar Framework)中跨页面使用变量?
- reactjs - 关于在 useEffect() 回调中附加处理程序时丢失事件的风险
- php - 如何在 php 数据库中插入 csv 文件的第一行?
- python - 在 minimummodbus 中更改波特率
- c# - 将 XML 文件变量设置为代码内变量不起作用
- java - 如何在不从网站注销的情况下测试硒代码