- 博客(273)
- 资源 (1)
- 收藏
- 关注
原创 .npmrc配置文件
npmrc配置文件.npmrc是一个用于配置 npm 行为的文件。这个文件可以位于多个地方,但最常见的是位于项目目录或者你的用户主目录。npmrc文件由一系列键值对组成,用于配置npm在执行命令时的行为和参数。一个.npmrc。
2024-06-25 13:55:08
1352
原创 npm作用域包和版本
在npm中,作用域(scope)是一种将一组包组织在一起的方式,可以通过作用域共享包或限制包的可见性。如果一个包的名称以@开头,那么它就是一个有作用域的包。范围是@和斜杠之间的所有内容。如果一直使用相同的作用域,您可能希望在.npmrc文件中设置此选项。如果使用npm init,可以将范围作为选项添加到该命令。要创建有作用域的包,只需使用以作用域开头的包名。
2024-06-25 12:19:59
602
原创 向npm发包
access 默认值:'restricted' 用于范围包,'public' 用于非范围包,类型:空值、"restricted" 或 "public"4.编写和测试代码:npm link 主要作用是在本地项目和本地npm包之间建立连接,方便进行模块测试和开发调试。文件来指定在发布包时应该忽略的文件和目录。这可以帮助你减小包的大小,避免不必要的文件被上传。如果你希望你的范围包可公开查看(和可安装),请设置。安装node和npm,注册npm账号。发布范围包时,访问级别默认为。
2024-06-25 12:02:30
330
原创 package.json简介
通过npm init初始化一个项目,会生成3个目录/文件, node_modules, package.json和 package.lock.json。其中package-lock.json文件是为了锁版本。
2024-06-20 16:16:29
863
原创 修改源码,打patch包,线上环境不生效
在node_modules中,找对应的包,然后查看包中package.json 的main和module。如果用require引入,则修改lib下面的组件,如果是import引入则修改es下面的文件。在使用npm进行安装依赖或者项目构建时,我们可能会遇到一些需要特殊处理的情况。比如说,某些环境下(特别是以root用户身份运行时)执行npm命令可能遇到权限问题。参数后, npm将不再尝试修改正在运行脚本进程权限, 这样可以确保脚本可以按照预期访问文件和执行任务。这个参数主要用于解决此问题的。
2024-06-20 10:46:26
547
原创 修改源码,打patch包
然后执行npm install,这事会自动执行npm run postinstall这个命令,也就是执行patch-package,这时候就会去读取上面说的 patches目录,并将那些补丁打到对应的包里,达到同步修改代码的效果。注:要把 patches 这个目录提交到git,别人才可以同步你的修改。2.修改node_modules里面的文件后,然后执行。1、安装patch-package。
2024-04-16 09:28:48
623
原创 antd datepicker点击选不中报错 Unable to preventDefault inside passive event listener invocation.
事件起因:在微应用点击其他微应用的页面后,回到自己项目导致antd datepicker选择时间无法选中。控制台报错:Unable to preventDefault inside passive event listener invocation,这个警告通常出现在使用passive事件监听器时,当在事件处理函数中调用preventDefault()方法时会引发该警告。在main.js中(或新建js文件,引入到main.js中),重写addEventListener,把passive置为false;
2024-03-29 13:44:25
410
原创 Object.hasOwn 低版本浏览器兼容性问题解决
使用Object.hasOwnProperty()代替。hasOwn是es2022新语法,旧浏览器不支持。
2023-07-25 14:43:00
2745
原创 vue3浏览器报错解决Uncaught runtime errors
【代码】vue3浏览器报错解决Uncaught runtime errors。
2023-07-11 11:19:40
4453
3
原创 Vue3兄弟组件传值mitt.js
在Vue3中没有了EventBus兄弟组件通信,但是现在有了一个替代的方案mitt.js,原理还是 EventBus。
2023-06-05 11:29:10
529
原创 手写一个eventBus自定义事件
在我们的JavaScript中,可以给元素添加一个点击监听事件,当用户点击的时候,点击事件怎会被执行,这也是一种事件总线的思想在里面,就好比元素订阅了点击事件,用户发布或出触发点击事件。所谓事件总线模式,其实就和发布订阅模式非常类似,比如我们订阅了一个公众号,公众号发布文章之后我们就能收到信息,这就是一种订阅发布的关系。再比如在Vue2项目中,我们可以使用$on、$emit来实现事件的监听和触发,这其实就是一种事件总线的思想在里面,只不过Vue帮我们实现好了。使用$emit发布事件。实现$off取消订阅。
2023-03-21 15:00:27
366
原创 export {default as xxx} from xxxxx写法
export {default as xxx} from xxxxx写法
2023-02-16 10:48:25
551
原创 <script setup>中父子组件传值及方法调用
中父子组件传值及方法调用 defineProps,defineEmits,defineExpose
2023-01-29 10:53:00
2103
原创 antd Table组件selectedRows翻页未保留上一页已选中数据(方法二)
antd Table组件selectedRows翻页未保留上一页已选中数据
2022-12-14 09:13:52
1356
原创 antd Table组件selectedRows翻页或重新搜索后未保留上一页已选中数据
antd Table组件selectedRows翻页或重新搜索后未保留上一页已选中数据
2022-12-02 16:34:33
1243
原创 Typescript 泛型
泛型可以理解为在我们定义函数、接口或者类的时候,不预先指定其相关的类型,而是在使用的时候手动指定类型。但是这样,这个函数我只能传字符串类型的参数给这个函数,如果想传数字类型,布尔类型呢。如果想做到传入什么类型就返回什么类型,例如传入number就返回number,这时候就可以使用泛型。any 的缺点:一个变量设置为any后,相当于关闭了ts的类型检测,一般情况下不建议使用any。any:一个变量设置为any后,相当于关闭了ts的类型检测,一般情况下不建议使用any。需求:有个函数会返回任何传入它的值。...
2022-08-29 10:43:28
392
原创 Typescript类型
数字类型是我们开发中经常使用的类型,TypeScript和JavaScript一样,不区分整数类型(int)和浮点型(double),统一为number类型。一个字符系列,使用单引号(')或双引号(")来表示字符串类型。never 是其它类型(包括 null 和 undefined)的子类型,代表从不会出现的值。元组类型用来表示已知元素数量和类型的数组,各元素的类型不必相同,对应位置的类型需要相同。// 在元素类型后面加上[]...
2022-08-28 16:06:49
138
原创 vue中企业微信 第三方应用扫码登录(pc端)
企业微信 第三方应用扫码登录参考文档:接入指引 - 接口文档 - 企业微信开发者中心首先在login页面,写一个按钮,触发点击事件,引导用户进入登录授权页:<button @click="toWxLogin">企业微信扫码登录</button>toWxLogin(){ //授权登录之后目的跳转网址,需要做urlencode处理。所在域名需要与授权完成回调域名一致 let url = 'http://....' //服务商的Cor
2022-05-20 18:39:47
2581
原创 uniapp中uView的安装配置
安装npm install uview-ui配置1. 引入uView主JS库在项目根目录中的main.js中,引入并使用uView的JS库,注意这两行要放在import Vue之后。// main.jsimport uView from "uview-ui";Vue.use(uView);2. 在引入uView的全局SCSS主题文件在项目根目录的uni.scss中引入此文件。/* uni.scss */@import 'uview-ui/theme.scss';
2022-05-17 18:36:27
1052
原创 redux、react-redux、redux-thunk、redux-saga对比
reduxredux工作流程示意图actions函数形式,返回 action 对象,通常具有type属性。负责指令的生成,页面通过 store.dispatch(action) 向 store 发送数据修改的请求。reducers一个纯函数,接收两个参数 (previousState, action) 第一个表示修改之前的 state 的值,action 是上一步页面通过 store.dispatch(action) 向 store 传递的 action。reducers 通过 ac
2022-05-07 13:45:50
987
1
原创 浏览器缓存:强缓存和协商缓存
介绍:浏览器缓存是为了节约资源,并且可以加速浏览网站的速度,当用户第一次进行访问网页的时候,浏览器在用户磁盘上对请求的文档进行保存,当用户第二次访问的时候,就会从本地直接显示,从而提高了访问页面的速度。浏览器缓存分为:强缓存和协商缓存两种。缓存的优点:减少了不必要的数据传输,节省带宽 减少服务器的负担,提升网站性能 加快了客户端加载网页的速度 用户体验友好缺点:资源如果有更改但是客户端不及时更新会造成用户获取信息滞后,如果老版本有bug的话,情况会更加糟糕。强缓存:如果资源没过
2022-04-12 15:44:37
1662
1
原创 扫描普通二维码,进入微信小程序
登陆微信公众平台1.点击【开发】-【开发管理】-【开发设置】开启扫普通二维码链接打开小程序,点击添加配置:打开添加配置:二维码规则根据二维码跳转规则,开发者需要填写需要跳转小程序的二维码规则。要求如下: 二维码规则的域名须通过ICP备案的验证。 支持http、https开头的链接(如:http://wx.qq.com、https://wx.qq.com/mp/、https://wx.qq.com/mp?id=123)。 前缀占用规则开发者可选择是否占用符合二维.
2022-04-12 13:01:43
4593
原创 微信扫码ios:scanQRCode:the permission value is offline verifying
报错信息:安卓手机:permission deniedios手机:scanQRCode:the permission value is offline verifying解决方案:1、确认config的jsApiList参数包含了这个JSAPI前端代码:wx.config中jsApiList里加上'scanQRCode'2、确认IP白名单、js安全域名、网页授权域名IP白名单:【开发/基本配置】-【IP白名单】 js安全域名、网页授权域名:【设置/公众号设置】-【功能设置】-.
2022-04-12 12:36:23
5548
原创 微信扫码scanQrCode:permission denied
报错信息:安卓手机:permission deniedios手机:scanQRCode:the permission value is offline verifying解决方案:1、确认config的jsApiList参数包含了这个JSAPI前端代码:wx.config中jsApiList里加上'scanQRCode'2、确认IP白名单、js安全域名、网页授权域名IP白名单:【开发/基本配置】-【IP白名单】 js安全域名、网页授权域名:【设置/公众号设置】-【功能设置】-.
2022-04-12 12:35:15
9090
1
原创 浏览器的缓存机制
浏览器的缓存机制:就是把一个请求过的web资源(例如:html页面、图片、js、数据等)拷贝一份副本储存在浏览器中;缓存会根据进来的请求保存输出内容的副本,当下一个请求到来的时候,如果是相同的URL,缓存会根据缓存机制决定是否直接使用副本响应访问请求,还是向源服务器再次发送请求。缓存的好处:减少网络宽带产生较小的流量,减轻服务器的压力,渲染缓存的页面,就减少了对源服务器的访问,提高响应页面的速度,用户再次打开不用等待时间过长;缓存的规则:就是根据http协议头和html标签中的meta;从两个维度,
2022-03-05 23:08:37
279
原创 webpack的优化之SplitChunksPlugin
最初,chunks(以及内部导入的模块)是通过内部 webpack 图谱中的父子关系关联的。CommonsChunkPlugin曾被用来避免他们之间的重复依赖,但是不可能再做进一步的优化。从 webpack v4 开始,移除了CommonsChunkPlugin,取而代之的是optimization.splitChunks。optimization.splitChunks下面这个配置对象代表SplitChunksPlugin的默认行为。webpack.config.jsmod...
2022-03-05 18:19:21
2656
原创 uniapp中app应用和h5页面,调用微信h5支付
直接上代码:mixinsPayLoad(res) {//res接受后端的参数,mwebUrl为跳转微信支付路径 // #ifdef H5 window.location.href = res.mwebUrl; // #endif // #ifdef APP-PLUS const platform = uni.getSystemInfoSync().platform const webvie
2022-03-01 12:40:49
6401
1
原创 ios开发者添加开发测试机
从开发者中心进入,配置添加测试设备的udid,并重新下载配置文件1.登录进入开发者中心后,选择入下图2.点击左侧Devices,点击“+”,可看到如下图填写设备信息:UDID查看:使用手机端的Safari浏览器(必须是Safari)访问UDID查询网页www.pgyer.com/udid一步一步添加新设备3.设备添加完毕后 在列表中选择Profiles -> 点击我们的dev证书进入详情后,点击右上角edit,进入编辑模式后,主要关注下方...
2022-02-28 18:41:14
4190
原创 企业微信 企业内部应用 扫码无法使用
wx.error报错如下:{"errCode":2,"err_ Info":"not match any reliable domain.more info at https://open.work.weixin.qq.com/devtool/query?e= 80001","errMsg"config:fail"}原因:未进行域名校验。解决:【应用管理】配置‘网页授权及JS-SDK’点击‘申请域名校验’进行域名校验。然后下载域名校验文件,部署至服务器后,勾选“已上传域名归属校验文件..
2022-02-24 17:47:54
2701
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人