摘要: vue项目随着代码量、业务组件、路由页面等的丰富,出于性能要求考虑不得不使用代码分割技术实现路由和组件的懒加载,这看似没什么问题 当每次通过npm run build构建生产包并部署到服务器后,操作页面就经常会遇到点击无反应、路由已跳转但页面没动静或页面错乱等情况,此时打开控制台会看到报错信息Err 阅读全文
posted @ 2021-05-15 18:02 IT小猿人 阅读(6069) 评论(1) 推荐(0) 编辑
摘要: 首先介绍(同源策略) 同源策略是浏览器最核心且基本的安全约定,要求协议、域名、端口都相同为同源,如果非同源时请求数据浏览器会在控制台抛出跨域异常错误,同源策略是浏览器的行为,即使客户端请求发送了,服务端也响应了,但是会拦截,浏览器无法接收到响应数据,保证了数据的安全,避免XSS攻击 跨域的解决办法: 阅读全文
posted @ 2021-05-15 18:00 IT小猿人 阅读(1383) 评论(0) 推荐(0) 编辑
摘要: element-ui项目中经常遇到需要使用v-if指令来根据情况动态显示隐藏某些列情况,这时就会出现滚动条样式异常、列错乱、列宽错乱等问题 解决办法:在el-table上添加:key="Math.random()"但这会在某些操作下每次重新渲染table,例如获取选择行、一些操作交互等情况,因为Ma 阅读全文
posted @ 2021-05-15 17:58 IT小猿人 阅读(3506) 评论(0) 推荐(0) 编辑
摘要: 使用create-react-app脚手架创建的项目默认隐藏了webpack等配置文件信息,使用npm run eject命令暴露这些隐藏的配置文件信息 项目默认有两个环境:开发环境(npm start)、生产环境(npm run build) 日常项目开发中分为开发环境、测试环境、正式环境三个环境 阅读全文
posted @ 2021-05-15 17:57 IT小猿人 阅读(8003) 评论(0) 推荐(0) 编辑
摘要: 使用create-react-app脚手架搭建初始化项目 > npm install -g create-react-app > npx create-react-app my-app create-react-app构建的项目默认使用css语法,但是隐藏的webpack配置中配置支持了css/sa 阅读全文
posted @ 2021-05-15 17:54 IT小猿人 阅读(3062) 评论(0) 推荐(0) 编辑
摘要: JavaScript模块化实现方案:CommonJS、CMD规范、AMD规范、ES6-module CommonJS:node.js模块机制参照者,用于服务端编程,模块是同步加载的,因为在服务器本机所以模块间读写速度快。 CMD规范:sea.js,推崇依赖就近原则,CMD的依赖是按需加载的,定义一个 阅读全文
posted @ 2021-05-15 17:51 IT小猿人 阅读(705) 评论(0) 推荐(0) 编辑
摘要: 上一篇博客介绍了vue-cli2.x配置build命令构建测试包和正式包,但现在前端开发vue项目大多数使用新版@vue/cli脚手架搭建vue项目(vue create project-name) 通过@vue/cli构建的项目无build和config配置文件夹,采用vue.config.js替 阅读全文
posted @ 2021-05-15 17:43 IT小猿人 阅读(1767) 评论(0) 推荐(0) 编辑
摘要: 项目开发中常分为开发环境、测试环境、正式环境 通过vue-cli或者@vue/cli脚手架搭建的项目默认提供了开发环境和正式环境的配置。可通过js获取当前域名或其他信息来判断当前为测试环境还是正式环境来加载执行对应的东西,例如请求的服务端地址、不同的图片资源等等,但这样很不方便,可通过配置build 阅读全文
posted @ 2021-05-15 17:39 IT小猿人 阅读(1167) 评论(0) 推荐(1) 编辑
摘要: vue-property-decorator使我们能在vue组件中写TypeScript语法,依赖于vue-class-component 装饰器:@Component、@Prop、@PropSync、@Model、@ModelSync、@Watch、@Emit、@Ref、@Provide、@Inj 阅读全文
posted @ 2021-05-15 17:35 IT小猿人 阅读(1827) 评论(0) 推荐(0) 编辑
摘要: Object.create(proto, [propertiesObject])//创建对象,使用参数一来作为新创建对象的__proto__属性,返回值为在指定原型对象上添加自身属性后的对象 //参数proto:必须,新对象的原型对象,可以是null/Object/函数的prototype属性,创建 阅读全文
posted @ 2021-05-15 17:33 IT小猿人 阅读(46) 评论(0) 推荐(0) 编辑
摘要: Object.assign(target, source1, source2, ...)//用于对象的复制合并(同名属性后覆盖前)或拷贝(拷贝自身可枚举属性,不拷贝继承属性或不可枚举属性),将source源对象的可枚举属性合并到target目标对象上并返回新的目标对象 Object.assign拷贝 阅读全文
posted @ 2021-05-15 17:30 IT小猿人 阅读(26) 评论(0) 推荐(0) 编辑
摘要: 五种将String类型转化为Number类型的方法: 方法一:使用一元运算符:eg:字符串'5' +'5' -> 5; 5+null -> 5(null转化为0); '5'+null -> '5null'; '5'-(0/''/null/false) -> 5; '5'-undefined -> N 阅读全文
posted @ 2021-05-15 17:26 IT小猿人 阅读(119) 评论(0) 推荐(0) 编辑
摘要: 六种将Number类型转化为String类型的方法: 方法一:通过+运算符加上一个空字符串: eg:'' + 5 -> '5' 5 + '' -> '5' 方法二:toString()方法: eg:(5.0).toString() -> '5' 更多详细内容见(toString详解) 方法三:Str 阅读全文
posted @ 2021-05-15 17:18 IT小猿人 阅读(142) 评论(0) 推荐(0) 编辑
摘要: Number.prototype.toString(radix)方法返回指定基数对应Number的字符串值 radix可选参数,值范围为2~36,转化基数,如果未指定,默认值为10,如果radix值不在范围内会抛出错误 如果radix大于10,则会使用字母表示大于9的数字,例如radix为16时,会 阅读全文
posted @ 2021-05-15 17:05 IT小猿人 阅读(280) 评论(0) 推荐(0) 编辑
摘要: parseInt(string, radix):用于解析一个字符串并返回指定基数的十进制整数或者NaN string参数为被解析的值,如果该值不是一个字符串,则会隐式的使用toString()方法转化为字符串,字符串首尾的空格会被忽略,如果该值不能转化为数字或者第一个非空字符不能转化为数字则返回Na 阅读全文
posted @ 2021-05-15 17:00 IT小猿人 阅读(1488) 评论(0) 推荐(0) 编辑