从 Typescript 中的 http url 导入 ES6 模块

2023-11-27

我正在编写一个 ES6 模块,它依赖于使用 http url 指定的其他 ES6 模块,如下所示:

import { el, mount } from "https://cdnjs.cloudflare.com/ajax/libs/redom/3.26.0/redom.es.js";
const pElem = el("p") // definitely works in Javascript

当我尝试在 Typescript 中翻译我的模块时,出现以下错误:

找不到模块“https://cdnjs.cloudflare.com/ajax/libs/redom/3.26.0/redom.es.js”或其相应的类型声明。

我在用着ts-watchnpm 模块来编译 Typescript,它工作正常,除非我不使用import from https://....

我也知道如果我尝试导入 npm 模块(例如import {el} from "redom")它也有效。但我正在写的是一个用于 Web 浏览器的模块,而不是 npm 的模块。出于这个原因,使用webpack不是一个选择。


感谢@acrazing 的评论,我设法解决了这个问题。就是这样:

在新的 ts 文件中:

declare module 'https://*'

这可以消除 Typescript 编译器尝试读取类型声明的错误。

如果您想将类型声明作为节点依赖项进行访问,请将其粘贴到新的 ts 文件中:

declare module 'https://cdnjs.cloudflare.com/ajax/libs/redom/3.26.0/redom.es.js' {
    export * from 'redom'
}

and add redompackage.json 中的依赖项

  "dependencies": {
    "redom": "3.26.0",
    ...
  },

然后,从本地读取类型声明./node_modules目录,VSCode 也可以识别类型。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

从 Typescript 中的 http url 导入 ES6 模块 的相关文章

  • JavaScript 添加布尔值

    console log true true 2 console log typeof true true number console log isNaN true true false 为什么两个布尔类型相加会产生一个数字 我有点理解 如
  • 从函数返回函数的目的是什么?

    阅读一些遗留代码 发现 A prototype setSize function var v1 new Vector2 return function size var halfSize v1 copy size multiplyScala
  • .push() 将多个对象放入 JavaScript 数组中返回“未定义”

    当我将项目添加到beats数组然后console log用户时 我得到了数组中正确的项目数 但是当我检查 length 时 我总是得到 1 尝试调用索引总是会给我 未定义 如下所示 Tom beats 1 我想我错过了一些明显的东西 但这让
  • 使用 Node.js 构建网站的最佳实践

    这个问题的答案是社区努力 help privileges edit community wiki 编辑现有答案以改进这篇文章 目前不接受新的答案或互动 我想知道如何使用 Node js 从头开始 开发一个网站 我明白我怎么能possibly
  • 为什么 window 与 Internet Explorer 中的 window.self 不同?

    关于我如何遇到这个问题有一个复杂的背景故事 但为什么self属性不完全等于窗口本身 在 Safari 和 Firefox 及其朋友中 结果如我所料 gt window window self true gt window window se
  • 如何在React Native Android中获取响应头?

    您好 我想在获取 POST 请求后获取响应标头 我尝试调试看看里面有什么response with console log response 我可以从以下位置获取响应机构responseData但我不知道如何获取标题 我想同时获得标题和正文
  • 本地推送通知到在应用程序内运行 JS 代码的 Win8 Live Tile

    我正在尝试将更新发送到我的应用程序的磁贴 当应用程序运行时 这可以正常工作 例如 当用户单击按钮时 我可以轻松地将磁贴更新通知发送到磁贴 我无法解决的是当应用程序无法运行时如何更新磁贴 我找到的唯一选择是使用以下命令从远程 Web 服务器拉
  • IntersectionObserver是否支持水平滚动观察?

    我制作了几个垂直滚动 IntersectionObserver 模块 但我对水平滚动感兴趣 根将是 div 观察目标将是 img 我想观察当 img 放大但 div 保持视口宽度时的变化 我什至不确定移动 Safari 是否会将缩放后的图片
  • 导航栏下拉菜单(折叠)在 Bootstrap 5 中不起作用

    我在尝试使用以下命令创建响应式菜单或下拉按钮时遇到问题Bootstrap 5一切似乎都正常 导航图标和下拉图标出现 但它不起作用 当我单击nav图标或dropdown按钮 无dropdown menu apears 我想特别提到的是 我还包
  • ReactTransitionGroup 不适用于 React-redux 连接组件

    我正在开发一个更大的项目 但我创建了这个简短的示例来说明问题 如果我使用Box组件 它的工作原理 它在控制台中输出componentWillEnter and componentWillLeave当我们点击按钮时 如果我使用BoxConta
  • 如何使用 Greasemonkey 监视静态 HTML 页面的更改?使用哈希?

    我希望我的 Greasemonkey 脚本仅在其访问的静态页面具有与以前完全相同的内容时运行 现在我可以设置一个包含该页面哈希的变量 我正在寻找一种动态散列页面的方法 以便我可以将我的散列与生成的散列进行比较 关于如何即时实现散列的任何想法
  • javascript 选择自定义光标 (svg)

    我正在动态地将光标更改为悬停时的本地 svg element on mouseover function this css cursor url svgs pointer svg 9 30 auto 工作正常 但我想选择该 svg 来操纵其
  • JavaScript 继承;调用和原型

    要在Javascript中实现继承 通常需要执行以下两个步骤 假设我有一个基类 Animal var Animal function name this name name 我现在想从中派生一个子类 Dog 所以我想说 var Dog fu
  • JavaScript推送函数中的动态变量

    我在 JavaScript 中使用推送功能 var chartData for var i 0 i lt 3 i chartData push date new Date year s mon s date s hr s min s sec
  • webpack TS2304 找不到名称“Map”、“Set”、“Promise”

    我有以下 webpack config js var path require path var webpack require webpack module exports entry ng2 auto complete path joi
  • 使用 Javascript 设置 cookie [重复]

    这个问题在这里已经有答案了 我正在尝试构建我的第一个移动应用程序 它需要连接到我的 mysql 数据库并使用 json 返回数据 这很好 目前我有一个登录系统 一旦确定用户名和密码存在 它就会返回一条成功消息 对于下一步 我想在我的页面上使
  • 使用 Jade 评估自定义 javascript 方法 (CircularJSON)

    我想通过 Jade 将一个对象解析为客户端 JavaScript 通常这会起作用 script var object JSON parse JSON stringify object but my object is circular ht
  • 使用 next.js 进行服务器端渲染与传统 SSR

    我非常习惯 SSR 意味着页面得到完全刷新并从服务器接收完整 HTML 的方法 其中根据后端堆栈使用 razor pub other 进行渲染 因此 每次用户单击导航链接时 它只会向服务器发送请求 整个页面将刷新 接收新的 HTML 这就是
  • 滚动顶部不符合预期

    Note 由于上次忘记奖励而重新开放赏金 A Woff 大师已经给出答案 我想在用户展开某一行时到达该行 这样当最后一个可见行展开时 用户不必向下滚动即可查看内容 I used example tbody on click td green
  • 没有输入的 jQuery 日期选择器

    我有一个相当复杂的网络应用程序 我想向其中添加一些日期选择 UI 我遇到的问题是我无法从文档中弄清楚如何真正控制日期选择器的出现方式和时间 不涉及任何表单元素 不 我不会添加秘密表单字段 因此简单的开箱即用方法根本行不通 我希望有人可以提供

随机推荐

  • 使用 TLS 会话重用将文件上传到 C# 中的隐式 FTPS 服务器

    我正在尝试通过协议 TLS 通过 ftps 将文件上传到 FileZilla 服务器 服务器上的20和21端口被关闭 我设法连接到服务器的唯一方法是使用 FluentFTP 但由于某些 FileZilla 服务器错误 我无法上传文件 htt
  • Firestore 规则模拟器 - 资源未定义

    我正在尝试使用 firebase 提供的新规则模拟器工具 但是在使其正常工作时遇到问题 在模拟器面板中这样设置路径时 users Gd9jd3jd8sSixxx38djSs 然后选择身份验证选项并输入授权用户的 uid 作为相同的字符串 G
  • 将 blob 文件上传到 Amazon s3

    我正在使用 ngCropImage 裁剪图像并希望将其上传this link NgCropImage 指令返回图像的 dataURI 我将其转换为 blob 转换后我得到一个 blob 对象 它具有大小和类型 使用以下代码将 DataURI
  • 如何修复:TypeError“元组”对象不支持项目分配[重复]

    这个问题在这里已经有答案了 本教程的以下代码片段 http www raywenderlich com 24252 beginning game programming for teens with python for badguy in
  • git Push 在 HTTP/1.1 100 之后挂在(哑)https 上继续

    我正在努力推动一些改变 但是git push挂起 当我跑步时git push 我没有看到任何输出 似乎什么也没有发生 没有任何活动top 并且没有发生任何事情的迹象 我不控制 git 托管服务 我正在使用 HTTPS URL 我相信托管服务
  • Tomcat连接池耗尽

    我在我的项目中使用 Apache Tomcat JDBC 连接池 我很困惑 因为在重负载下我不断看到以下错误 12 26 36 410 ERROR http XX XXX XXX X XXXXX X org apache tomcat jd
  • mysqldump 仅转储具有特定前缀的数据库

    我有大约 100 个不同的数据库 我想使用 mysqldump 转储以前缀 asd 开头的数据库 我尝试了这个 但它不起作用 mysqldump u user p pwd h server url asd single transactio
  • 在 Swift 中更改导航栏颜色

    我使用选择器视图来允许用户选择整个应用程序的颜色主题 我计划更改导航栏 背景和可能的选项卡栏的颜色 如果可能的话 我一直在研究如何做到这一点 但找不到任何 Swift 示例 谁能给我一个我需要用来更改导航栏颜色和导航栏文本颜色的代码示例 选
  • Angular 2 - Jquery | Angular 2 - Jquery | Angular 2 - Jquery | Angular 2 - Jquery使用鼠标位置添加样式(上/左)

    我正在寻找一种在 Angular 2 中的特定位置 鼠标事件 x y 添加 div 组件的方法 https jsfiddle net lennartquerter w2c7uqw6 this xPos xPos this yPos yPos
  • 在 Vim 中映射 Esc 键

    I m a beginning Vim user I hate pressing the Esc key which is a little far on my T61 In order to return to command mode
  • Android:EditText 中多行且无自动建议

    是否可以有一个允许多行且不显示建议的 EditText 我尝试使用以下代码 android inputType textFilter textMultiLine 我在这个中看到了question 但这对我不起作用 如果我尝试同时使用两者 E
  • 使用 Lodash 将 JavaScript 数组拆分为块

    我需要将 JavaScript 数组拆分为n大小的块 例如 给定这个数组 a1 a2 a3 a4 a5 a6 a7 a8 a9 a10 a11 a12 a13 and a n等于 4 输出应该是这样的 a1 a2 a3 a4 a5 a6 a
  • Jquery——任何事件都会触发动作[重复]

    这个问题在这里已经有答案了 jquery 中是否有任何事件触发时会触发函数的东西 我想要这样的东西 anyEvent function error html on blur change click dblclick error focus
  • WKWebView reload() 无法刷新当前页面

    离线时第一次加载网页失败 然后我连接网络呼叫reload 刷新当前页面 但这不起作用 WKNavigationDelegate无法得到任何回调 功能reloadFromOrigin 也不工作 但医生说 abstract Reloads th
  • .net mvc 中从 Bootstrap 3.7 更新到 5.0.2 产生错误 - System.NullReferenceException

    我卸载了 net MVC 应用程序附带的基本引导模板 并从 NuGetPackage Manager 安装了引导程序 5 0 2 现在我在运行时遇到这个问题 构建正在成功发生 System NullReferenceException HR
  • 在 F# 中将列表拆分为两个相等的列表

    我对 F 确实很陌生 我需要一些关于 F 问题的帮助 我需要实现一个剪切函数 将列表分成两半 以便输出 切 1 2 3 4 5 6 val it int 列表 int 列表 1 2 3 4 5 6 我可以假设列表的长度是偶数 我还希望定义一
  • AutoMapper 如何根据上下文以不同方式将对象 A 映射到对象 B

    呼叫所有 AutoMapper 专家 我希望能够根据运行时的上下文以不同的方式将对象 A 映射到对象 B 特别是 我想忽略一种映射情况下的某些属性 并在另一种情况下映射所有属性 我遇到的是 Mapper CreateMap 可以在不同的映射
  • 是否可以关闭特定更新的休眠版本增量?

    是否可以使用休眠更新数据库中的实体而不修改实体的版本 使用我的 Web 应用程序 用户可以创建或更新实体 在任何用户操作之后 处理 这些实体的另一个异步进程在哪里 如果用户在实体 处理 之前打开实体进行更新 但在 处理 之后尝试保存实体 则
  • 在构建期间自动化 xsd.exe

    我需要一种在构建期间基于 xsd 文件自动重新生成 cs 文件的方法 最好不涉及任何自定义加载项 这也需要在 CI 构建上运行 我不确定我是否遗漏了一些明显的东西 或者这在我看来真的很棘手吗 我使用这个脚本 echo off cd 1 ca
  • 从 Typescript 中的 http url 导入 ES6 模块

    我正在编写一个 ES6 模块 它依赖于使用 http url 指定的其他 ES6 模块 如下所示 import el mount from https cdnjs cloudflare com ajax libs redom 3 26 0