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

学做网站零基础chatgpt入口

学做网站零基础,chatgpt入口,信息发布网站设计,免费微信小程序免费制作平台一. 解析 开发者使用一个模块时,有时需要知道模板本身的一些信息(比如模块的路径)。现在有一个提案,为 import 命令添加了一个元属性 import.meta,返回当前模块的元信息。 import.meta只能在模块内部使用,如…

一. 解析

开发者使用一个模块时,有时需要知道模板本身的一些信息(比如模块的路径)。现在有一个提案,为 import 命令添加了一个元属性

import.meta,返回当前模块的元信息。

import.meta只能在模块内部使用,如果在模块外部使用会报错。

这个属性返回一个对象,该对象的各种属性就是当前运行的脚本的元信息。具体包含哪些属性,标准没有规定,由各个运行环境自行决定。一般来说,import.meta至少会有下面两个属性。

(1)import.meta.url

import.meta.url返回当前模块的 URL 路径。举例来说,当前模块主文件的路径是https://foo.com/main.jsimport.meta.url就返回这个路径。如果模块里面还有一个数据文件data.txt,那么就可以用下面的代码,获取这个数据文件的路径。

new URL('data.txt', import.meta.url)

注意,Node.js 环境中,import.meta.url返回的总是本地路径,即是file:URL协议的字符串,比如file:///home/user/foo.js

(2)import.meta.scriptElement

import.meta.scriptElement是浏览器特有的元属性,返回加载模块的那个<script>元素,相当于document.currentScript属性。

// HTML 代码为
// <script type="module" src="my-module.js" data-foo="abc"></script>
// my-module.js 内部执行下面的代码
import.meta.scriptElement.dataset.foo
// "abc"

 二. 应用

1.  动态环境变量:基于Vite和Rollup插件系统,import.meta.env 能够自动将.env文件的值注入到你的代码中。
  • 根目录下新建.env(默认环境),.env.development.env.production
NODE_ENV = "development"
VITE_BASE_URL = "http://127.0.0.1:3333"
  • 通过 import.meta.env.VITE_BASE_URL 读取环境变量的参数
  • import.meta.env.MODE: {string}应用程序运行的模式。
  • import.meta.env.BASE_URL:{string}应用程序提供服务的基础url。这由基本配置选项决定。
  • import.meta.env.PROD: {boolean}是否在生产环境中运行
  • import.meta.env.DEV: {boolean}应用是否在开发中运行(总是与import.meta.env.PROD相反)
2.import.meta.glob() 是一个 ES 模块的特殊属性,用于动态导入多个模块
  • import.meta.glob() 方法接受一个模式字符串作为参数,并返回一个Promise,该Promise 析为一个对象,该对象包含匹配该模式的所有模块的键值对。
  • 模式字符串可以包含通配符 *,用于匹配多个模块。例如,import.meta.glob('./modules/*.js') 可以匹配当前目录下以 .js 结尾的所有模块
  • 使用 import.meta.glob() 可以方便地批量导入模块,而不需要手动一个一个地导入。

需要注意的是,
import.meta.glob() 是 ES 模块的特性,
目前仅在一些现代浏览器和支持 ES 模块的 Node.js 版本中可用,
在旧的浏览器或 Node.js 版本中,可能需要使用其他方式来实现类似的功能

在这里,使用import.meta.glob(),导入指定模式的固定路由模块,代码如下: 

/** 自动导入全部静态路由,无需再手动引入!匹配 src/router/modules 目录(任何嵌套级别)中具有 .ts 扩展名的所有文件,如果需要做排除,请使用'!'符号,例如:!./modules/*** 如何匹配所有文件请看:https://github.com/mrmlnc/fast-glob#basic-syntax* 如何排除文件请看:https://cn.vitejs.dev/guide/features.html#negative-patterns*/
// 导入非result相关路由
const fixedModules = import.meta.glob('./modules/**/!(result).ts', { eager: true })
// 导入result相关路由
const resultModules = import.meta.glob('./modules/**/result.ts', { eager: true })
//导入所有路由
const modules: Record<string, any> = import.meta.glob(['./modules/**/*.ts'], { eager: true })

模式字符串 ./modules/**/!(result).ts 解析如下:

  • ./modules/:表示要匹配的文件路径的起始部分,
  • **/:表示可以匹配任意多层子目录,
  • !(result):表示排除匹配到的文件名为result的文件,
  • .ts:表示文件扩展名为.ts
  • { eager: true }参数表示立即加载这些模块

http://www.yidumall.com/news/13570.html

相关文章:

  • 顺德做网站公司哪家好电视剧排行榜百度搜索风云榜
  • php网站建设考试seo如何优化网站
  • 注册新公司需要多少钱优化大师使用心得
  • 网站建设与网页设计...如何做网页设计
  • 简易静态网站制作流程图福州百度推广电话
  • phpstudy网站建设教程北京网站优化页面
  • hph做动态网站广告联盟推广
  • 云服务器可以做视频网站吗爱站网 关键词挖掘工具站长工具
  • 互联网建站是什么百度宣传广告要多少钱
  • 佛山网站制作哪家好培训学校加盟费用
  • 内存做硬盘缓存软件网站做一个推广网站大概多少钱
  • 郑州汉狮做网站报价南宁网站推广营销
  • 网页网站原型图占位符怎么做有没有好用的网站推荐
  • 腾讯企点有风险吗优化设计官网
  • 北京网站设计我选柚米b2b电子商务平台网站
  • 朝阳市网站建设深圳网站关键词排名优化
  • 建设项目seo做的比较好的公司
  • 阿里云域名注册服务网站太原网站建设
  • 西安市做网站推广方案模板
  • 动态网站做登录界面创意设计
  • 怎么做网站代理商福州网seo
  • 怎么给网站添加音乐网站整体优化
  • 沐众科技网站建设网络营销与传统营销有哪些区别
  • 自己的网站首页背景怎么做东莞网络优化哪家公司好
  • 网站交互用什么做网络营销的优势与不足
  • 可以做淘宝客的网站有哪些2022十大热点事件及评析
  • chat gpt 国内版aso优化师
  • 1企业网站案例百度seo推广计划类型包含
  • html5 网站源码西安今日头条新闻
  • 网上下载的asp网站源码 放在本地如何做测试手机优化什么意思