
学习
文章平均质量分 52
梓喻
公众号IT民工日常求关注,我们有好多IT民工群,一起来划水呀~~~
展开
-
‘NODE_ENV‘ 不是内部或外部命令,也不是可运行的程序
问题mac 环境下在 package.json 的 scripts 属性下配置命令 "NODE_ENV=development node ./bin/www,切换到 windows 环境下报错‘NODE_ENV’ 不是内部或外部命令,也不是可运行的程序原因windows 环境不支持 NODE_ENV=XXX 命令解决方案安装 cross-env, 执行时在命令前加 cross-envnpm install -g cross-env# 避免执行问题,建议全局安装命令修改为如下:c原创 2022-01-07 10:08:30 · 6312 阅读 · 0 评论 -
placeholder样式处理
伪元素::placeholder可以选择一个表单元素的占位文本,它允许开发者和设计师自定义占位文本的样式。::placeholder{}::-webkit-input-placeholder{} /* 使用webkit内核的浏览器 */:-moz-placeholder{} /* Firefox版本4-18 */::-moz-placeholder{} /* Firefox版本19+ */:-ms-input-place.原创 2021-12-07 17:38:15 · 182 阅读 · 0 评论 -
excel求和SUM和筛选求和SUBTOTAL
直接求和一般求和直接鼠标选中,然后右击找到并点击求和address代表某个位置从某位置1到某位置2(一连串)=SUM(address1:address2)选择某个位置和某个位置(可以N个)=SUM(address1, address2)筛选求和筛选后,选中指定位置到结束位置,然后表格内输入命令=SUBTOTAL(109, address1:address2)109和9方法有些区别,使用109方法计算时筛选其它条件会自动计算,9不会自动计算,所以推荐直接使用109自动计算已原创 2021-11-25 16:32:01 · 3154 阅读 · 0 评论 -
监听和移除鼠标滚动兼容写法
// creates a global "addWheelListener" method// example: addWheelListener( elem, function( e ) { console.log( e.deltaY ); e.preventDefault(); } );(function(window, document) { var prefix = ''; var _addEventListener; var _removeEventListener; // v原创 2021-11-10 14:12:01 · 859 阅读 · 0 评论 -
vue项目copy功能
export default { methods: { copy(value) { try{ const textarea = document.createElement('textarea'); document.body.appendChild(textarea); // 添加到body中 textarea.value = value; // 给dom设置值 textarea.select(); // 设置选中 const copyFalse = d原创 2021-10-29 09:57:16 · 346 阅读 · 0 评论 -
git删除本地分支和远程分支
1. 删除本地分支git branch -D branchName2. 删除远程分支git push origin :branchName原创 2021-10-13 14:51:58 · 124 阅读 · 0 评论 -
vue项目动态加载JSON并显示
1. 封装JSON请求方法1> 安装 axiosnpm install axios2> 引入并封装axios请求路径 src/utils/requestJSON.jsimport axios from 'axios';// create an axios instanceconst service = axios.create({ method: 'get', crossDomain: true, dataType: 'json', cache: false,原创 2021-10-08 15:54:27 · 3601 阅读 · 0 评论 -
vue项目动态设置浏览器icon
代码很简单,获取 <link> 标签中 rel 相关设置的值为 icon 的标签元素,将 icon 地址的值赋给该标签的属性 href。// 比如某个路径 browerIconUrldocument.querySelectAll("link[rel*='icon']").forEach(item => { item.href = browserIconUrl;})...原创 2021-09-28 12:09:31 · 1703 阅读 · 0 评论 -
vue-router处理刷新query参数消失问题
概念-路由对象属性$route.query 一个 key/value 对象,表示 URL 查询参数。$route.path 字符串,对应当前路由的路径$route.fullPath 完成解析后的 URL,包含查询参数和 hash 的完整路径。分析当浏览器刷新时,触发 导航守卫 beforeEach方法等,只有在 next(path: to.path) 时改变了路由参数解决方案将 next(path: to.path) 修改为 next(path: to.fullPath),这样就不会发生原创 2021-09-22 19:52:58 · 5890 阅读 · 5 评论 -
git设置多仓库代码管理
一般我们 git clone 来下载仓库代码,下载下来的代码有时候会多仓库源代码处理。多个远程仓库分别处理先查看当前项目所有远程仓库信息git remote -v查看源仓库信息git remote show orgin看别的仓库也一样,git remote show [remote]为项目添加其他远程仓库 git remote add [shortName] [url]git remote add otherRemote http://otherRemote.com/co原创 2021-09-16 16:17:54 · 1104 阅读 · 0 评论 -
vue3.0新特性总结
Vue 3.0 终于在上2020-09-18发布了,使用了Typescript 进行了大规模的重构,带来了 Composition API RFC 版本,类似 React Hook 一样的写Vue,可以自定义自己的hook ,让使用者更加的灵活。vue 3.0 部分新特性。setup()ref()reactive()isRef()toRefs()computed()watch()LifeCycle Hooks(新的生命周期)Template refsglobalProperties转载 2021-09-16 12:04:11 · 773 阅读 · 0 评论 -
websocket/vue-socket.io/socket.io-client相关认识理解
前言因为项目需要在vue用到websocket所以找了很多帖子与资料,但是原生的需要封装逻辑比较复杂,对于仅仅是使用学习成本比较大,第三方插件的话我找的有vue-socket.io、socket.io、socket.io-client,其中vue-socket.io与socket.io我使用时都遇到个问题,就是全局组件挂载后没有找到io实例,找到了io实例与相关方法但是却无法使用,例如on方法,使用时无任何报错,但是控制台没打印后台传输的数据,而最后找到了socket.io-client直接挂载io实例使转载 2021-09-15 10:54:47 · 3240 阅读 · 0 评论 -
SassError: expected selector /deep/ (module build failed)
问题有些项目npm run serve运行时报错 SassError: expected selector,指向的是 /deep/ 的问题。原因因为 /deep/ 写法会在 vue 3.0 下报错,请改用官方推荐的操作符 ::v-deep代替使用。vue 官方深度作用选择器 2.0 用的是 >>>, 而 vue 3.0 官方推荐用 伪类 :deep(), 因为某些预处理器不支持解析,所以使用 /deep/ 或者 ::v-deep 操作符替代。参考有些像 Sass 之类的原创 2021-09-13 17:42:13 · 4394 阅读 · 1 评论 -
组件域内样式渲染和深度作用选择器
1. 组件域内样式渲染单文件组件样式 <style> 标签带有 scoped attribute 的时候,它的样式只会应用到当前组件元素上,具体实现是这个可选的 scoped attribute 会自动添加一个唯一的 attribute (比如 data-v-8sdf9s2) 为组件内的 css 指定作用域。PostCss 转化处理如下:<style scoped>.example { color: red;}</style><template&g原创 2021-09-13 17:17:55 · 294 阅读 · 0 评论 -
vue项目同路由名称的路径参数变化处理
场景vue项目路由的路径由参数变量组成,虽然切换路径,但页面并未发生变化import User from '@/components/User';const router = new VueRouter({ routes: [ // 动态路径参数 以冒号开头 { path: '/user/:userId', component: User } ]})vue-router官方解释提醒一下,当使用路由参数时,例如从 /user/foo导航到 /user/bar,原来的原创 2021-08-31 14:13:41 · 621 阅读 · 0 评论 -
Array.prototype.reduce用法
定义reduce() 方法对数组种的每个元素执行一个由您提供的 reducer (升序执行),将其接口汇总为单个返回值。语法arr.reduce(callback(accumulator, currentValue[, index[, array]])[, initialValue])相关参数callback 执行数组种每个值(如果没有提供 initialValue 则第一个值除外), 包含四个参数:accumulator 累加器累计回调的返回值,是上一次调用回调时返回的累计值,或原创 2021-08-25 13:22:46 · 196 阅读 · 0 评论 -
require.context实现自动导入指定目录依赖(webpack前端工程化)
const modulesFiles = require.context('./modules', true, /\.js$/);// require.context accepts three params, search directory、whether search subdirectories and a regular expression to match files// you do not need `import app from './modules/app'`// it wi原创 2021-08-25 11:19:53 · 933 阅读 · 0 评论 -
TypeError: Cannot read property ‘range‘ of null(eslint-loader)
原因babel-eslint版本过高解决修改 package.json中指定babel-eslint版本,然后运行相关命令# 移除整个依赖rm -rf node_modules# 清空缓存npm cache clean# 安装依赖npm install# 再次清空缓存npm cache clean# npm cache clean -force 强制清空缓存或者# 移除指定依赖npm uninstall babel-eslint# 清空缓存npm cache cle.原创 2021-08-11 19:18:36 · 640 阅读 · 0 评论 -
Critical dependency: the request of a dependency is an expression(import)
定位到vue文件问题所在位置export default { created() { // 告警所在 import(`@/md/${file}`).then(moduleFile => { // }).catch(err => {}); }}原因webpack 版本问题,webpack4中动态import不支持变量方式解决办法用 require方法替代 importexport default { created() { // 告警所在 requ.原创 2021-08-11 19:08:38 · 4666 阅读 · 0 评论 -
TypeError: this.getOptions is not a function(html-loader)
在 vue 项目引入 md 文件 中安装了 html-loader 报错。原因当前项目安装的 html-loader版本过高,需要调整 html-loader版本解决办法先移除之前的版本npm uninstall html-loader安装较稳定版本npm i html-loader@1.3.0 --save...原创 2021-08-11 18:57:51 · 1405 阅读 · 0 评论 -
vue项目引入md文件
1. 安装相关依赖npm i html-loader markdown-loader --save需要注意的是,请安装一些稳定的版本,避免报错{ "html-loader": "^1.3.0", "markdown-loader": "^5.1.0"}2. 配置md文件解析规则vue.config.js 中增加配置加载md文件的规则,如果没有则在项目根目录下新建该配置。// All configuration item explanations can be find in // h原创 2021-08-11 18:30:43 · 2344 阅读 · 1 评论 -
接口访问不通问题查找
ping 用于确定本地主机是否能与另一台主机成功交换(发送与接收)数据包,再根据返回的信息,就可以推断TCP/IP参数是否设置正确,以及运行是否正常、网络是否通畅等。ping 10.251.80.114# ping iptelnet 用于本地与远程主机建立连接,如果连接失败则说明无法建立连接telnet 10.251.80.114 8081# telnet ip port沟通了之后,我的本地ip访问对应的ip端口在fpr上处理之后就可以了...原创 2021-08-06 19:56:57 · 181 阅读 · 0 评论 -
vant图标woff加载外网不能内网使用问题
vant 的字体图标默认是从公网加载的,如果内网使用需要指定加载依赖里的字体图标。如 vue 项目在 main.js 引入 vant 时指定加载字体图标样式import 'vant/lib/icon/local.css';解决问题不一定写很多代码,但一定要动脑子~~~...原创 2021-06-10 20:59:10 · 622 阅读 · 0 评论 -
vue项目刷新当前页
provide / inject描述provide 选项应该是一个对象或返回一个对象的函数。该对象包含可注入其子孙的 property。inject 一个字符串数组,或一个对象,对象的 key 是本地的绑定名。作用以允许一个祖先组件向其所有子孙后代注入一个依赖,不论组件层次有多深,并在其上下游关系成立的时间里始终生效。需要关注的是provide 和 inject 绑定并不是可响应的。这是刻意为之的。然而,如果你传入了一个可监听的对象,那么其对象的 property 还是可响应的。原创 2021-05-11 17:58:37 · 169 阅读 · 0 评论 -
配置基础的vue.config.js
我们用 vue-cli3 搭建项目时,可以手动配置 vue.config.js,在根目录下新建 vue.config.js。如果存在该文件,会被 @vue/cli-service 自动加载,它是一个可选的配置文件。module.exports = { // 基本路径 baseURL已经过时 publicPath: './', // 输出文件目录 outputDir: 'dist', // 输出代码目录 assetsDir: 'static', //原创 2021-05-08 15:14:17 · 372 阅读 · 0 评论 -
webpack打包时UglifyJsPlugin出现`warnings` is not a supported option
可能的写法new UglifyJsPlugin({ uglifyOptions: { // 删除注释 output: { comments: false }, // 删除console debugger 删除警告 compress: { warnings: false, // 报错的写法 drop_console: true, // console drop_debugger: false, pure_funcs: ['console.lo原创 2021-05-08 14:55:18 · 1575 阅读 · 2 评论 -
vue动态增加路由addRoute
描述router.addRoute 添加一条新路由规则。如果该路由规则有 name,并且已经存在一个与之相同的名字,则会覆盖它。addRoute(route: RouteConfig): () => void如果需要给某个子节点更新路由router.addRoute 添加一条新的路由规则记录作为现有路由的子路由。如果该路由规则有 name,并且已经存在一个与之相同的名字,则会覆盖它。addRoute(parentName: string, route: RouteConfig原创 2021-05-08 14:44:10 · 8843 阅读 · 6 评论 -
Error: Redirected when going from “/login“ to “/home“ via a navigation guard.
问题vue系统按权限设置动态路由,切换路由时触发该错误解决方案1. 切换路由前设置好token2. 降低 vue-router 版本3. 优化 VueRouter.prototype.push在 router/index.js 文件中设置 VueRouter 原型上的 push 方法// 解决触发导航守卫问题const originalPush = VueRouter.prototype.pushVueRouter.prototype.push = function push(loc原创 2021-05-08 14:32:53 · 1533 阅读 · 0 评论 -
a标签rel设置“noopener noreferrer”
描述<a> 的 rel 属性指定了目标对象到链接对象的关系。该值是空格分隔的列表类型值。属性值描述支持元素不支持元素noopener指示浏览器打开链接而不授予新的浏览上下文对打开它的文档的访问权限-通过在打开的窗口中不设置Window.opener属性(返回null)。当打开不受信任的链接时,这特别有用,以确保它们无法通过Window.opener属性来篡改原始文档(有关更多详细信息,请参阅 About rel=noopener),同时仍提供 Referer H原创 2021-05-07 13:47:15 · 2791 阅读 · 0 评论 -
scrollTo兼容处理
定义Element 的 scrollTo() 方法 可以使界面滚动到给定元素的指定坐标位置。语法element.scrollTo(x-coord, y-coord)element.scrollTo(options)参数参数名描述x-coord期望滚动到位置水平轴上距元素左上角的像素y-coord期望滚动到位置竖直轴上距元素左上角的像素optionsScrollToOptions对象兼容性解决方案系统加载时初始化某些方法,使得能够兼容原创 2021-04-14 17:08:31 · 2314 阅读 · 0 评论 -
用blob下载文件
/** * @description 下载文件 * @param { string } downloadUrl 下载的链接 * @param { string } fileName 下载文件名称 */function downloadBlobFile(downloadUrl, fileName, requestObj){ var xhr = new XMLHttpRequest(); // 设置响应类型为blob类型 xhr.responseType = 'blob'; var metho原创 2021-04-01 17:18:05 · 426 阅读 · 0 评论 -
垂直居中的奇思妙想
首先感谢【张鑫旭】这位大神的无私奉献,从浮动到各种css神技巧以及他独特的技术解释,我觉得写代码也可以这么开车。。。CSS2 的 vertical-align 用于属性设置元素的垂直对齐方式,在这里用于设置同一行的元素都放置在父元素的中部。父元素通过固定定位默认宽高100%,且内容通过 text-align 设置居中,通过设置 font-size 控制子元素文字默认大小,然后设置 white-space 控制行内元素不换行,最后设置overflow 可以在子元素超出之后可滚动。子元素通过伪元素原创 2020-12-07 11:28:16 · 151 阅读 · 2 评论 -
修复Critical dependency: the request of a dependency is an expression警告
Critical dependency: the request of a dependency is an expression关键依赖: 依赖关系的请求是一个表达式。查看问题代码:let img = '@/assets/images/head.png';require(img);**原因在于**: require用于引入模块、 JSON、或本地文件,但是不支持直接传入变量。**解决方法**:通过 [**ES6 字符串模板**](https://developer.mozilla.o..原创 2020-11-19 17:06:39 · 19165 阅读 · 0 评论 -
axios设置authorization
HTTP 协议中的 Authorization 请求消息头含有服务器用于验证用户代理身份的凭证,通常会在服务器返回 401 Unauthorized 状态码以及 WWW-Authenticate 消息头之后在后续请求中发送此消息头。语法Authorization: <type> <credentials>键名键值<type>验证类型(Basic、Bearer、Digest、HOBA、Mutual、AWS4-HMAC-SHA256)<原创 2020-09-17 17:01:45 · 15362 阅读 · 0 评论 -
git报错fatal: Authentication failed for 错误
当我们换 git 账号密码之后再去拉代码或者上传代码会发现被拒绝了,类似于accsess deniedfatal: Authentication failed for xxx此时我们只需要在git bash 中运行命令git config --system --unset credential.helper重置用户凭据信息,运行该命令之后pull或者push会弹框要求输入账号密码更多的我们可以参考这一篇git命令参考http://www.cnblogs.com/chenwolong/p/G原创 2020-09-11 09:28:20 · 2425 阅读 · 0 评论 -
MSVCR110.dll文件找不到修复
在64位windows系统下面安装wamp之后往往运行有以下报错解决方案如下1,下载 Visual C++ Redistributable for Visual Studio 2012选择 x86 版本下载2,安装下载文件...原创 2020-04-21 09:37:28 · 777 阅读 · 2 评论 -
module not found: ./cptable in cpexcel.js
在前端需要插件导出excel时,可以运行一下命令安装 xlsx 插件npm install --save xlsx-style当运行服务时可能会报以下错误这个找不到的模块代码在该文件的807行var cpt = require('./cpt' + 'able');将代码换成以下代码var cpt = cptable;因为变量 cptable 已存在上下文环境中,所以可以直接使用...原创 2020-04-16 00:41:32 · 1366 阅读 · 0 评论 -
常见调用原型链方法
先上代码let Func = function(){}Func.prototype.getName = function(){ return this.name}let newFunc = new Func()newFunc.name = ‘Joseph’newFunc.getName() // 返回什么???;/////////...原创 2020-03-31 13:44:54 · 1258 阅读 · 0 评论 -
常见变量提升题
先上代码var val = 'a'function test(){ console.log(val) var val = 'b' console.log(val)}test()console.log(val)这里需要注意的是 var 在声明变量时会发生变量提升 HoistingHoisting 是 JavaScript 将所有声明提升到当前作用域顶部的默认行为(提升到当前脚...原创 2020-03-25 16:19:04 · 432 阅读 · 0 评论 -
easyui datagrid 表头固定(垂直滚动条)、列固定(水平滚动条),每页显示1000行...
1、当数据行很多时,会呈现垂直的滚动条,但是向下滚动,表头却被淹没了,这不符合人类偷懒的特点(我怎么可能记得住每列的数据代表的意思!),所以需要固定表头。$table.datagrid({fit: true});对,没错,就是这个属性,就这么简单!我也是看了网上的各位大神之后才懂。我看了多遍easyui的api(当然是中文的)没有!!下次看看英文原版(啊!我的英语水平)。2、当数据列很多...原创 2019-12-18 17:52:10 · 475 阅读 · 0 评论