qiankun中子应用中使用docx-preview无法正常生效,会卡在renderAsync异步方法,
现象qiankun中子应用中使用docx-preview无法正常生效,会卡在renderAsync异步方法, 调试以下操作均在子应用中完成 删除npm管理的的docx-preview, 通过github docx-preview中的cdn引用方式,把docx-preview.js和jszip.js下载到本地,在index.html中引用。 在使用的地方改成docx.renderAsync 在下载到本地的两个js中写debugger打断点 最终定位到关键代码var onGlobalMessage这个函数中有个if语句event.source === global 在qiankun中global会被qiankun代理,外层包裹一个proxy不再等于event.source,然后导致永远无法执行下面的方法去postmessage 修改 重新安装docx-preview 使用pnpm pactch 对node_module中的docx-preview进行打补丁,具体教程自行搜索 pnpm...
vue中qiankun-路由问题
基础使用请参考qiankun官网https://qiankun.umijs.org/zh 进阶使用会遇到如下问题 主应用和子应用都有router,如何匹配 主应用如何切换子应用中的路由 主应用和子应用同源如何配置 主应用和子应用都有router,如何匹配注册子应用 1234567891011121314registerMicroApps([ { name: 'child1', // app name registered entry: '//localhost:7001/', container: '#childApp', activeRule: '/main/child1', }, { name: 'child2', entry: '//localhost:7002/', container: '#childApp', activeRule:...
uniapp-动态配置-appid
处理JSONC文件UniApp的mainfest.json是一个jsonc文件,可以使用comment-json库来处理 1npm i comment-json --dev 读写mainfest.json123456789101112131415161718192021222324252627// injectAppID.jsconst { parse, stringify } = require('comment-json')const fs = require('fs')// 环境修改 appidlet appid = process.env.VUE_APP_IDconsole.log(appid)// manifest.json 路径let manifestFileUrl = `${__dirname}/src/manifest.json`// 读取文件数据let manifestFileData = fs.readFileSync(manifestFileUrl, { ...
Uni-App解决全局变量和wx变量在TS中类型报错
问题1:Cannot find name ‘wx’.Vetur(2304)微信小程序 API 的 TypeScript 类型定义文件 安装通过独立 npm 包1npm install miniprogram-api-typings 安装后手动导入: import 'miniprogram-api-typings'; 或者在 ts 配置中指定: 在 tsconfig.json 中指定 types: ["miniprogram-api-typings"] 或者通过 三斜杠指令 引用: /// <reference path="node_modules/miniprogram-api-typings/index.d.ts" /> 或: 通过 DefinitelyTyped1npm install @types/wechat-miniprogram 问题2:Property ‘$xxx’ does not exist on type ‘CombinedVueInstance<Vue, {}, {...
vite对媒体、图片等文件打包处理单独发布到CDN
vite对媒体、图片等文件打包处理单独发布到CDN1. 如果你希望对某几个库进行CDN部署,推荐使用vite-plugin-cdn-import2.如果你希望对整个项目进行CDN部署,使用vite.config.ts中的base字段即可1234567891011import { defineConfig } from 'vite'; export default defineConfig(({ mode }) => { const isProduction = mode === 'production'; const cdnDomain = isProduction ? process.env.VITE_CDN_DOMAIN : '/'; return { base: cdnDomain, ...
python高版本-打包成mac程序
安装 pyinstaller pip install pyinstaller安装pyinstaller 需要安装依赖 具体请看Github 准备logo.ico文件 执行 pyinstaller pack.py --noconsole -i logo.ico
python-命令行运行没问题,打包后运行crash
检查是否使用了wx.lib.pubsubwx.lib.pubsub已经被弃用了,打包运行会出问题,用命令行运行没问题。只要需要使用pubsub命令行安装pip install pubsub
Jenkins错误处理
最近用Jenkin自动打包iOS 装了一个中文语言包,收到系统提示要我升级到2.151,果断升级。然后后报错can't parse argument number: changelog.url 反复百度 google无果,使出终极大招暴力卸载。找到mac根目录,打开显示隐藏文件,找到.jenkins文件夹并删除。命令行重启Jenkins。奇迹般的好了。不过之前的插件都没了。版本也退到了2.149。没有中文插件,英文慢慢看还是能看懂的。
v-for-中key的作用
一句话概括:key标识了每个vnode的唯一性,在vdom改变时能精准找出变化的vnode,减少改变vdom的消耗提高执行效率。详细说明:vdom都是一层一层去对比的如图 现在出现变化了,需要将F加入到B和C之间 默认的diff算法会这样执行,C更新为F,D->C,E->D….如果节点多了就要执行很多次,效率低下 引入key后,并优化diff算法可以直接找到位置,并且插入新vnode
iOS开发-APP跳转微信公众号方法实现
首先感谢文扬_的思路分享。我是按照第一种方法做的。(想看效果下一个沪江网校APP在我的里面点击我的学生证即可查看)我直接下载了微信SDK1.8.3范例代码一番配置后直接在代码中修改。主要分为三个步骤 发起微信消息订阅 在SendMsgToWeChatViewController中定位到subscription方法1234567891011121314151617181920- (void)subscription{ [UIAlertView requestWithTitle:@"请输入scene" message:@"scene" defaultText:@"1000" sure:^(UIAlertView *alertView, NSString *text) { UInt32 scene = (UInt32)[text integerValue]; [UIAlertView requestWithTitle:@"输入templateId"...