# 安装使用

# 安装

npm安装

npm install gx-instant

pnpm安装

pnpm add gx-instant

yarn安装

yarn add gx-instant

CDN引入

<!-- ESM -->
<!--通过https://cdn.jsdelivr.net/gh/ggymx/CDN/script/gx-instant/v+版本号进行访问-->
<script src="https://cdn.jsdelivr.net/gh/ggymx/CDN/script/gx-instant/v1.1.1/bundle.esm.js"></script>

<!-- IIFE -->
<script src="https://cdn.jsdelivr.net/gh/ggymx/CDN/script/gx-instant/v1.1.1/bundle.iife.js"></script>

# 使用

gx-instant将内部每个模块都导出的同时,也将模块中的功能也进行了导出,因此以下两种方式都可以

import {platform} from 'gx-instant'
console.log(platform.isPc())
import {isPc} from "gx-instant";
console.log(isPc())

当然也可以这样

import {isPc} from 'gx-instant/utils/platform.js'
console.log(isPc())

如果使用CDN引入,则请看下方使用方式:

ESM引入gx-instant将内部每个模块都导出的同时,也将模块中的功能也进行了导出,因此可以导入方法直接调用,也可以通过导入模块后通过模块名调用方法

  <script type="module">
  import {isEmail, isPc,regExp,get,post} from 'https://cdn.jsdelivr.net/gh/ggymx/CDN/script/gx-instant/v1.1.1/bundle.esm.js'
  console.log("isPc",isPc())
  console.log("isEmail",isEmail('2319649532@qq.com'))
  console.log("isQQ",regExp.isQQ('2319649532@qq.com'))
  post({
      url:'http://rap2api.taobao.org/app/mock/311232/auth/getUerInfo',
      params: {id: '2312332'}
    }).then(res=>{
      console.log("成功回调",res)
    }).catch(err=>{
      console.log("错误回调",err)
    })
</script>

注:此种方式需要支持ESM特性的现代浏览器

IIFE引入gx-instant默认导出的全局变量为gxInstant,因此可以通过gxInstant调用方法,也可以通过gxInstant的模块名调用方法 如:gxInstant.isPc() 和 gxInstant.assert.isPc()等同

<script src="https://cdn.jsdelivr.net/gh/ggymx/CDN/script/gx-instant/v1.1.1/bundle.iife.js"></script>
<script>
console.log("isPc",gxInstant.isPc())
console.log("isPc",gxInstant.assert.isPc())
console.log("获取rem",gxInstant.getRemPxRatio())
console.log("设置cookie",gxInstant.setCookie({name:'哈哈哈哈',sex:'男'}))
console.log("设置indexDB",gxInstant.setIndexDB({name:'哈哈哈哈',sex:'男'}))
</script>

注意

  • 每个模块的功能,以及模块所对应的名字,都将在具体章节,逐一说明
  • gx-instant内部既导出了每个模块,又导出了模块中的功能,因此如果不同模块的函数重名,则从gx-instant导入模块名,通过模块名调用方法,如import {platform} from 'gx-instant' platform.isPc();也可以直接导入,如import {isPc} from 'gx-instant/utils/platform.js'