当前位置: 首页 > news >正文

网站策划包括哪些内容南海最新军事

网站策划包括哪些内容,南海最新军事,华为云 搭建网站,网站建设工作会议作者 | 零一来源 | 前端印象最近看到Node官方提交了一条commit #xff0c;并且已经合入 master分支 #xff0c;如下图所示#xff1a;node master commit由此可见#xff0c;Node18可能会支持一个非常 nice 的功能#xff0c;那就是 支持 import 远程HTTPS资源和本地的H… 作者 | 零一来源 | 前端印象最近看到Node官方提交了一条commit 并且已经合入 master分支 如下图所示node master commit由此可见Node18可能会支持一个非常 nice 的功能那就是 支持 import 远程HTTPS资源和本地的HTTP资源啥意思看个例子尝鲜现在有这样一个文件// demo.mjs import sayHelloWorld from https://example/say-helloWorld.mjs;console.log(sayHelloWorld());可以看到这里选择加载了一个远程的HTTPS文件资源该文件内容如下// say-helloWorld.mjs export default function sayHelloWorld () {return Hello,World 零一 }接下来运行一下 demo.mjs看看会发生什么因为在Node18中该功能属于实验性功能所以我们需要加上参数 --experimental-network-imports 来启动该特性node --experimental-network-imports demo.mjs运行结果// Hello,World 零一当然了本地起的HTTP服务上的文件资源也是可以一样导入的例如import sayHelloWorld from http://10.59.24.2:8080/say-helloWorld.mjs   // ok注意我们使用该特性导入的脚本资源文件有一个前提条件那就是该文件所在的服务器上响应此文件请求的类型 content_type 必须为 application/javascript否则就无法加载我们可以用 curl 来查看一下想要加载的文件响应类型例如$ curl -s -o /dev/null -w %{content_type} https://example/say-helloWorld.mjs# application/javascript错误场景ERR_NETWORK_IMPORT_BAD_RESPONSE当导入的资源不存在时即响应 404就会报该错误Error [ERR_NETWORK_IMPORT_BAD_RESPONSE]: import https://xxxx/xxxx received a bad response: HTTP response returned status code of 404ERR_NETWORK_IMPORT_DISALLOWED当请求一个HTTPS资源且被重定向到一个非网络资源时是不被允许的Error [ERR_NETWORK_IMPORT_DISALLOWED]: import of ftp://xxxxx/say-helloWorld.mjs by https://h3manth.com/foo.mjs is not support: cannot redirect to non-network locationERR_UNKNOWN_MODULE_FORMAT当请求的资源不是 ESM 时会报该错误RangeError [ERR_UNKNOWN_MODULE_FORMAT]: Unknown module format: null for URL https://xxxxxx/say-helloWorld.jsERR_UNSUPPORTED_ESM_URL_SCHEME当加载的资源URL的协议不被支持时会报该错误例如 ftp:Error [ERR_UNSUPPORTED_ESM_URL_SCHEME]: Only URLs with a scheme in: file, data, https, http are supported by the default ESM loader. Received protocol ftp:实现原理其实原理也比较简单先调用 fetchModule 方法检查资源模块是否缓存过cacheForGETfunction fetchModule(parsed, { parentURL }) {const { href }  parsed;const existing  cacheForGET.get(href);if (existing) {return existing;}if (parsed.protocol  http:) {return PromisePrototypeThen(isLocalAddress(parsed.hostname), (is)  {// Makes few checks for ERR_NETWORK_IMPORT_DISALLOWEDreturn fetchWithRedirects(parsed);});}return fetchWithRedirects(parsed); }若没有缓存则调用 fetchWithRedirectsfunction fetchWithRedirects(parsed) {const existing  cacheForGET.get(parsed.href);if (existing) {return existing;}const handler  parsed.protocol  http: ? HTTPGet : HTTPSGet;const result  new Promise((fulfill, reject)  {const req  handler(parsed, {headers: {Accept: */*}}).on(error, reject).on(response, (res)  {// 错误检查// 缓存内容// 返回模块内容} }然后根据资源类型去调用不同的方法HTTPGet、HTTPSGetlet HTTPSAgent; function HTTPSGet(url, opts) {const https  require(https); // For HTTPGet, we use the http builtinHTTPSAgent ?? new https.Agent({keepAlive: true});return https.get(url, {agent: HTTPSAgent,...opts}); }总结这个功能还是很香的谁用谁知道但目前有一些缺点实验性功能可能还会改动而且使用需要加参数 --experimental-network-imports本地只支持 http一旦涉及到 https 就很淡疼该功能的代码实现就限制死了只支持 http: 和 https:其它一概不支持希望本文对你们有所帮助~往期推荐Android 13 第一个开发者版本来了网友直呼Android 12 还没玩透k8s集群居然可以图形化安装了使用这个库让你的服务操作 Redis 速度飞起将 k8s 制作成 3D 射击游戏好玩到停不下来点分享点收藏点点赞点在看
http://www.pierceye.com/news/197615/

相关文章:

  • 长沙自动化网站建设瑞安地区建设网站
  • 中山做网站费用网页制作简明教程
  • 芜湖做网站需要多少钱青岛网站建设公司怎么选
  • 塑胶 东莞网站建设企业网络推广培训
  • wordpress五分钟建站手机网站 cms
  • 网站前台后台河南省建设工程质量协会网站
  • wordpress无法拖动小工具长沙seo网站推广
  • 网站的推广方案的内容有哪些网站建设所需技术
  • 手机微网站怎么制作的威特视频网站建设方案
  • 视频播放网站开发的报告潮州网站网站建设
  • 如何查询网站域名备案建设网站找什么问题
  • 南开大学 网站开发技术 刘冲网站排名优化有哪些牛霸天的软件1
  • 高品质网站设计北京市地铁建设管理公司网站
  • 初次建设网站的技巧织梦做分类信息网站
  • 宣讲家网站官网加强作风建设网站业务怎么做的
  • 厚街网站建设价格做办公室的网站
  • 青海做网站找谁wordpress gif缩略图
  • 手机网站全屏显示如何把自己做的网站放到微信上
  • 网站建设云雅淇wordpress
  • 工作室网站需要备案吗python基础教程编程题
  • 建设工程人才招聘信息网站响应式网站 cms
  • 设计签名免费网站福州的网站建设
  • 太原这边有做网站的吗wordpress实现pdf浏览
  • 制作微信公众号的网站开发30岁做网站运营
  • 松江手机网站开发正规免费代理
  • 太原市建设路小学网站昆山住房与城乡建设局网站
  • 石家庄的网站的公司计算机应用技术专业网站开发方向
  • 网站优化软件排行榜八年级微机网站怎么做
  • 织梦网站漏洞cms网站开发流程
  • 网站开发规划书怎么写企业cms开源