2019.01.02
1.git 不提交某个文件
1 | git update-index --assume-unchanged src/partner/dc/config/dbs.js |
2.测试IE
IETester
3.IE报错
IE11浏览器出现”TypeError:对象不支持”starsWith”属性或方法”
1 | cnpm install babel-polyfill --save |
在入口文件第一行加上
1 | import "babel-polyfill" |
判断IE和Edge,世界之窗
1 | var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串 |
2019.01.03
slice && splice
slice不改变原数组,切割
splice会改变原数组,删除
2019.01.04
单例模式
- 如果有同样的函数或组件出现,会销毁前一个
- router-view 是个单例
例子:
项目中,父子组件都用到了播放器组件,因为vue,不会销毁,两个点击后都会出现,设计单例模式
因为vue的destoryed销毁后dom还在,还需要进行一系列操作。而v-if可以实现组件销毁,因此通过v-if设计。
2019.01.14
pixi教程
2019.01.15
调试Node,下载nodemon,然后nodemon 文件,不然每次改完都需要run
2019.01.16
1.引用模块
module.exports = getSql;
才能用getSql引用模块
import 方法,不能嵌套用,比如
cp_game.js在其他地方require,就不能import,只能require
2.console.log && log4js
console是控制台对象,console.log是到了运行端的控制台,所以express部分是打印到了后端控制台而不是浏览器;界面的是打印到了浏览器标准的服务器log,其实是变成了文本文件。log4js标准是后端很稳定可靠的日志设计,log4js是node版本,本质也会产生log文件,会到一个文本文件里。
2019.01.17
1.return不成功
1 | 如果一个方法里有异步,return会不成功,采用以下方法 |
2.log4js不会自动创建文件夹
3.命名
- 命名使用业务术语,而非计算机术语,即更多表现业务逻辑。
1
list => flaggedCells
- 尽量不要缩写
- 不同的程序员命名相同的业务术语一致
- 驼峰命名
- 如何缩短命名,避免范围内重复
1
2比如:
person下的 personName personId - 工具
不是简单地把通用的代码抽离出来,而是实现用户在页面中输入少量且简单地代码,工具收到参数后即可进行功能作用——通用、简化
2018.01.22
vue不要直接赋值
this.skillform.intentionTable = result.data
容易赋值不成功,比如result.data 没有id的属性,之后操作this.skillform.intentionTable.id是不能成功的
2018.01.23
try,catch,throw
1 | try { |
throw 创建自定义错误
可以直接用
1 | if(x>10) { |
与try catch连用
1 | try { |
export,export default,import || export,module.exports,require
module exports 和 require
因为Node应用由模块组成,采用CommonJs模块规范。根据这个规范,每个文件就是一个模块,有自己的作用域。在这些文件里面定义的变量、函数、类,都是私有的,对外不可见。因此规避了作用域污染。
根据CommonJS规定,每个模块内部,module变量代表当前模块,这个变量是一个对象,它的exports属性是对外的接口,加载某个模块,其实就是加载该模块的exports属性
1 | MyModule.js |
exports 与 module.exports
1 | node中,exports = module.exports |
但
1 | exports = config (x) |
export和import
ES6中,导出export,导入import
补充
- export语句输出的接口,与其对应的值是动态绑定关系,即通过该接口,可以取到模块内部实时的值。
CommonJS输出的值是缓存,不存在动态更新。 - export和import命令不能在块级作用域,要在模块顶层。
- import命令具有提升效果,会提升到整个模块的头部,首先执行。
检查父子组件!!
一个诡异的问题:
页面有添加和修改功能,修改后表格会相应更新,但添加不会。
它们都是通过点击打开弹窗(子组件),保存后调用表格(父组件)的初始化功能。
后发现,添加是在另一个组件,其父组件不是表格而是表格的父组件(页面),所以需要调用表格的方法打开父组件。
2018.01.25
1.git push失败
因为做博客,换了账号提交,还提交了很多次,结果push失败。
首先用现在的账号回到第一次提交git abort
然后git add ….
换账号,git log,git reset… 提交
2.operation not permitted
权限不够,给文件夹加上权限。如有加不上的,一直报无权限的,试试注销电脑
3.不提交log文件
.gitgnore中,加上 *.log ,git add .gitgnore
2019.01.28
算一个字符串在数组中出现多少次
1 | const countOccurrences = (arr,value) => arr.reduce( (a,v) => (v===value?a+1:a+0),0 ) |