
JS
文章平均质量分 51
lizhen_software
前端、node、关注新技术
展开
-
前端环境变量及vite中本地环境配置实践
大家经常会看到这种代码,其中cross-env NODE_ENV=production,指定的环境变量key为NODE_ENV,值为production,这样引用之后呢,我们可以通过process.env.NODE_ENV 获取对应的环境变量。process 是node 的一个进程环境,其中通过process.env可以获取进程环境中的环境变量,方便node在调用时处理各种环境信息。这种是最基本的环境变量配置方式,NODE_ENV基本上常用的只有两种,development和production,用来做开原创 2022-12-04 23:30:32 · 10520 阅读 · 0 评论 -
Vite 环境变量及本地环境
Vite 通过环境变量配置开发环境及部分源码解读原创 2022-04-12 00:18:55 · 12982 阅读 · 0 评论 -
react useCallBack 小记
useCallBack 使用方法:const callBackFun = useCallBack(() => {},[obj1])因为useCallBack 会缓存方法,只有第二个参数发生变化时才会缓存,并且,方法内部的变量只会在调用或者 第二个参数的值改变时才会重新初始化,所以如果你内部使用了动态变量的话,比如obj2的话,如果obj1初始化的时间比obj2早的话,callback取到的值一直是之前的旧值。例:const [obj2,setObj2] = useStatus({});原创 2021-11-11 19:15:47 · 769 阅读 · 0 评论 -
antd MenuItem should not leave undefined `key`.下拉无法回收
antd package.json:"antd": "^4.12.3"中会升级小版本,导致出现下拉框无法收回的情况。这时把package.json 改成"antd": "4.12.3" 重新npm install 一下即可。可以检查一下antd的版本,版本在node_modules下antd下的package.json下有个version...原创 2021-06-08 10:18:53 · 4659 阅读 · 6 评论 -
sequelize 1对多,多条数据直接作为一个list key 在那一条对应的 数据下,sequelize 1对多时,一直获取到的是多条数据的解决办法
let opt = {where:{}};dbData('graph_version').hasMany(dbData('graph_version_log'), { // as: 'roleAccess', foreignKey: 'project_id', targetKey: 'project_id'});let result = await dbData('graph_version').findAll(Object.assign(opt,{ include: [{ .原创 2020-09-15 14:42:30 · 705 阅读 · 0 评论 -
mint-ui MessageBox 浏览器返回上一页,一直显示,没有关闭解决方法
在弹框的页面增加如下代码:1、离开页面钩子2、this.$messagebox 是MessageBox 实例,直接调用close 方法即可beforeRouteLeave(to,form,next){ this.$messagebox.close(); next();},...原创 2020-03-18 11:04:09 · 743 阅读 · 0 评论 -
vue-router addrouters 刷新导致页面空白或404 解决方案
vue-router动态路由加载会遇到一些问题,最严重的问题是刷新动态路由页面导致404,网上查了不少资料,都有点问题,解决了一下,附代码及解决思路。1、使用动态路由时需要一个全局变量,用来控制什么时候加载这个动态路由,我用的是vuex全局状态集管理,用他有个好处就是,刷新时路由信息会丢失,vuex状态也会丢失,所以根据他的状态来判断比较好,设置一个初始值 , 默认false,等动态路由加载完...原创 2019-09-02 18:14:57 · 6712 阅读 · 0 评论 -
vue 及 js 微信中 页面输入框被键盘顶上去之后,点击域错误 弹出框fixed absolute 定位的输入框 键盘弹出导致点击域失效 解决办法
造成这种问题的原因是body没有复位,所以把body 复位就可以了。解决思路:1、input获取焦点的时候记住当前滚动的位置,2、input失去焦点的时候滚动到之前的位置。(亲测有效)。附vue 代码,其他框架可以依据该思路修改。PageScroll:0,// 位置 这个在data 里面定义变量inputLoseBlur() { setTimeout(() => {...原创 2019-08-13 11:22:42 · 654 阅读 · 0 评论 -
vue-cli3 单文件及多文件.html 文件预处理 按需删除部分无用js 文件
在使用vue-cli3 的过程中,本地及测试环境使用conlog 的js,但生产环境用不到,挨个删容易出问题,也容易漏删,粗略的看了下vue-cli3 的配置文件,并未找到这类文件预处理的方式,但发现可以用插件的形式处理,因为对插件不是很熟悉,所以使用node js 文件处理的形式 以正则替换的方法,把匹配到的文件全部删除。这是我打包后的多文件存放地址。这是我部署生产时执行的命令,...原创 2019-06-23 00:07:22 · 1652 阅读 · 0 评论 -
vue 使用vue-awesome-swiper实现原生滑动切换及点击动画切换TAB
首先需要引入vue-awesome-swiper,代码如下:import VueAwesomeSwiper from 'vue-awesome-swiper'Vue.use(VueAwesomeSwiper)在main.js引入 cssimport '../../static/swiper/swiper.min.css'这样咱们就可以使用swiper了,使用代码如下:这...原创 2019-03-14 18:08:13 · 13655 阅读 · 3 评论 -
vue-photo-preview 异步图片放大失效的解决方法
官方提供的异步图片加载的话,在数据加载完之后执行this.$previewRefresh(),但我这里测试的并不好使,最后解决的方式是加transition,代码截图如下:注意v-if一定要在transtion上加,v-if一定要有,fade的css如下:...原创 2019-02-27 11:40:50 · 5304 阅读 · 1 评论 -
vue cli3 多页面应用搭建,打包后每个页面都一个文件夹
项目结构如下:注意:每个页面的.html 那个文件必须不能同名,不然本地开发环境无法拆分页面,本地如果想访问其他页面的话,地址如下:http://localhost:8080/order.html。最好src/pages/的文件夹名和.vue名 和.html名和.js的名字都一样,这样打包时容易拆分git地址:https://github.com/seizeDev/vue-more...原创 2018-11-29 17:05:43 · 20470 阅读 · 34 评论 -
fis3编译时插件fis3-postpackager-loader提示 message.content.replace is not a function
这个问题主要是fis3版本的问题,不要安装v3.4.40,重新安装v3.4.39,跟node版本没什么关系,重新安装即可原创 2018-11-16 21:38:48 · 621 阅读 · 0 评论 -
This is probably not a problem with npm. There is likely additional logging output above. 报错解决思路
今天写项目时,遇到了This is probably not a problem with npm. There is likely additional logging output above.这个问题,一般情况下百度到的知识只能解决其中某些错误,这里我给大家总结一下常见的几种错误:1、缺少依赖,如果缺少依赖的话,在最顶上会提示你安装那些缺失的依赖,一开始我也没注意,确实这个提示语提示的信...原创 2018-11-14 20:36:12 · 95968 阅读 · 25 评论 -
vue+koa2+webpack 打包后提示Uncaught Error: [HMR] Hot Module Replacement is disabled.
vue用webpack打包后并且用node作为代理监听的话,还是会走webpack,那种会提示:Uncaught Error: [HMR] Hot Module Replacement is disabled.如果提示这个的话,将入口文件里面的entry:绿框内的内容删除掉,在node执行监听的时候动态修改entry这个值,代码如下:命令执行代码如下:执行命令时传入参数,用...原创 2018-10-18 15:22:40 · 819 阅读 · 0 评论 -
node js批量导出PDF 导出压缩为zip 拆分设计 文件压缩 批量导出设计
node导出pdf网上有不少介绍的文章,之前我也有过这方面的需求,总结一下遇到的问题,给大家点参考建议。导出PDF大概会遇到以下几个阶段:1、导出单个PDF文件2、导出多个PDF文件下面着重说一下第二种情况,第一种情况比较简单,直接用phantomjs导出生成PDF即可。第二种情况,其实就是第一种情况的复杂化,我们先需要生成文件夹,在将生成的PDF放到文件夹中。这里有个问题,就是如...原创 2018-09-27 18:44:10 · 2180 阅读 · 1 评论 -
node+express 后端架构设计 node express 架构 分层设计 node切片设计
node+express 后端分层设计,切片设计,架构设计简要介绍如下:1、cleaning 文件夹:包含数据清洗处理的的方法2、controller文件夹:包含接口请求时数据处理的方法3、linkpool文件夹:包含mysql数据请求配置和sql 的拼接汇总4、routers文件夹:包含所有的路由数据请求5、util文件夹:包含所有的公共方法和数据返回统一控制方法git地...原创 2018-09-17 16:08:09 · 2042 阅读 · 0 评论 -
vue ios11 IOS11.3系统滑动是父元素跟着滑动的解决方案 全机型滑动父元素跟着滚动
IOS11.4系统如果弹框后父元素也跟着滚动的话,解决方案如下:methods:{ _preventDefault(e) { e.preventDefault(); }, GetPageScroll(){ var y; if (window.pageYOffset) { // all except IE y =...原创 2018-08-23 11:31:41 · 1456 阅读 · 0 评论 -
js echarts使用百分比显示数据 echarts使用配置
这个是最终效果,其实这个还是比较简单的,贴一下代码,然后把最主要的两个地方说一下:let dom = document.getElementById("main");let myChart = echarts.init(dom);let option = { title: { text: '折线图堆叠' }, tooltip: { ...原创 2018-08-17 17:34:12 · 27961 阅读 · 6 评论 -
小程序记:input双向数据绑定
长时间使用VUE,发现v-model确实很好用,用了小程序之后,才发现小程序的双向绑定那么难用,必须有个bindinput来触发改变值。经过研究发现,小程序的双向绑定也可以实现,但是稍复杂点,思路和大家说一下,最后附代码:1、利用bindinput来触发改变2、利用data-name来绑定获取的数据3、bindinput触发时利用event获取,name的值,然后用this.set...原创 2018-08-13 16:31:28 · 49424 阅读 · 10 评论 -
小程序记:wx.navigateTo 和wx.redirectTo 不能跳转到tabbar页面
在小程序中,不允许wx.navigateTo 和wx.redirectTo 跳转到tabbar list的页面,用wx.switchTab 跳转原创 2018-08-07 17:57:43 · 2306 阅读 · 0 评论 -
vue-resource post请求,header无法设置解决方案
在vue-resource 里面加header头的时候,get请求正常加入,但post,没有正常加上,这种情况是因为options.emulateHTTP覆盖导致的,在请求拦截器里面加请求头也不行,所以解决方案是全局写死请求头:Vue.http.options.emulateHTTP = true;Vue.http.options.headers = { 'Content-Type': ...原创 2018-07-10 12:45:22 · 9884 阅读 · 0 评论 -
在vue中使用ifream需要注意的地方
在前端中,ifream我们这边其实用得比较少,因为不像原生那样,修改之后就需要重新下载,H5的话只需要发布到服务器上,下次打开会更新页面,所以一直没注意过用h5来包外部页面的需求。近期,公司一个原生应用要做H5版本的,因为涉及到很多webview页面,这些webview页面包括:H5的协议页面、第三方保险的授权页面、其他授权页面。这些授权都是第三方公司给的页面,授权成功有后端来异步爬取第三方公司的...原创 2018-06-28 13:40:42 · 6202 阅读 · 0 评论 -
使用webpack-hot-middleware不能刷新的解决方法
使用webpack-hot-middleware实现自动刷新的方式如下:1、修改entryentry: { index: ['webpack-hot-middleware/client?noInfo=true&reload=true',path.resolve(__dirname, '../src/main.js')] },2、plugins增加new webpack.HotM...原创 2018-06-08 16:59:39 · 5949 阅读 · 2 评论 -
vue build用nginx指定路径,有跳板机nginx导致图片没有取nginx的配置地址
nginx配置如下: location /web/asset/wap/ { try_files $uri $uri/ /index.html =404;#这样配置 #alias /data/test/project/front/asset/wap/; root /data/test/project/front/asset/wap/static/; ...原创 2018-05-15 12:40:23 · 1437 阅读 · 0 评论 -
vue ts ,vue使用typescript的时候,父组件给子组件传值提示 Invalid prop: type check failed for prop "fatherSearch". Expe
vue使用ts会遇到各种各样的问题,最近使用时发现父组件给子组件传值时提示vue is object but string这种,子组件接收的方式如下:这个问题找了好几天,后来发现是因为vue的默认属性导致,需要改成:如果提示其他类型不存在的话,也是一样的解决方式,就改成其他的类型就行了,我不确定TS哪个版本会导致这个问题,因为之前我这个项目没报这个错,就突然有一天不知道弄了个啥,就出现了这个问题,...原创 2018-05-14 14:02:27 · 13068 阅读 · 0 评论 -
浏览器调用支付宝授权用户信息
当想获取用户的支付宝数据时,一定要授权支付获取数据,但支付宝授权用户默认只针对支付宝内链接,所以我的思路是:调起支付宝后,支付宝自动打开内连接授权地址,授权成功后自动返回上一页。这里面有几个问题:1、微信内置浏览器不能打开支付宝提供的任何链接,所以已经被pass掉了,我做的是判断一下是否是微信浏览器,如果是微信浏览器的话,就提示用户并让用户把打开支付宝并自动内联授权地址的地址复制到手机浏览器打开。...原创 2018-04-22 22:57:27 · 17414 阅读 · 1 评论 -
vue TS使用props,vuex,mixins详解
在vue中使用TS相信大家网上能找到很多实践方案,我之前也写过一个DEMO,GIT地址:https://github.com/seizeDev/vue-ts光有DEMO没有什么用,还是要具体到业务层中使用具体的API,所以给大家介绍一下,子组件怎么接受props,怎么引入vuex,怎么使用mixins,其实这些才是我们用TS+VUE的主要方案,TS是为了规范代码,规范书写格式和检查静态变量。在vu...原创 2018-04-15 21:57:39 · 27059 阅读 · 7 评论 -
dva model里面需要注意的几个点
因为我之前一直用vue,vue里面都是直来直往的,没有什么拐弯的东西,用vue的人学dva的时候一定要注意几个点:1、model相当于vue的vuex,里面包含了但向数据流的所有的控制2、在vue中我们一般定义一个全局的头部标题字段,并且在mounted中调dispatch改变,但在dva的model中这段分为了两个部分,其中effects是异步修改数据时调用的, 也就是在react的compon...原创 2018-03-06 10:58:03 · 23543 阅读 · 7 评论 -
angularjs js directive 组件与父组件ng-model传值
angularjs1中directive自定义组件,在父组件中用的时候,可以直接绑定ng-model,但需要scope: { selectData: '=ngModel'//绑定父元素的ngmodel},在diretive中改变设置的selectData,则对应自定义组件中绑定的ng-model也会变化,自定义组件使用...原创 2018-03-03 21:26:03 · 2173 阅读 · 0 评论 -
vue js IOS H5focus无法自动弹出键盘的解决方法
IOS不自动弹出键盘,必须手动触发一下focus才行,不能自动调用,所以需要诱导用户点击某个按钮触发focus,最终修改的方法,默认隐藏密码输入框,隐藏不能用v-if或者是v-show,用position:absolute, top:-1000,然后点击输入密码将top改为视窗内,并且调用focus的方法代码如下,有问题欢迎评论<template> <div class="p...原创 2018-02-27 16:11:00 · 13206 阅读 · 0 评论 -
vue 模拟支付宝六位密码支付,直接上代码
<template> <div class="pwdpush-box"> <h4 class="enter-password" @click="enterPwd">输入密码</h4> <div class="phonenum-show" :class="pushShow?'原创 2018-02-27 16:09:17 · 7054 阅读 · 2 评论 -
node JS遍历上传本地文件
/*** Created by lizhen on 2017/9/10.*/var fs = require('fs'),path = require('path');let imgMap = [];function travel(dir, callback) {fs.readdirSync(dir).forEach(function (file) {var pathname = '/Users...原创 2018-02-24 13:09:58 · 871 阅读 · 0 评论 -
微信返回时页面很卡或者页面跳转有问题
在那个之前的页面跳转时添加这句:window.top.location.replace(window.location.href) 有问题欢迎评论原创 2017-12-27 16:11:09 · 1494 阅读 · 0 评论