Rashomon

Results 156 issues of Rashomon

使用V1.12.6版本,在使用嵌套路由情况下,由子路由页面切换到父级路由后,再回到子路由页面,此时路由不展示 例子:A路由下有A-1、A-2, 另有与A同级路由,再打开A-1、A-2情况下跳转到B,再回到A-1,此时A-1页面不展示

- define-plugin:定义环境变量 - clean-webpack-plugin:清除文件 - html-webpack-plugin: 用于编译 Webpack 项目中的 html 类型的文件 - mini-css-extract-plugin:提取css文件到单独的文件 - optimize-css-assets-webpack-plugin: 配置在「plugins」中,webpack就会在启动时使用这个插件。 而配置在 「optimization.minimizer」 中,就只会在「optimization.minimize」这个特性开启时使用 - ugliys-webpack-plugin:压缩js丑化js代码 - terser-webpack-plugin: uglify不支持es6,且uglify-es不再更新,我们选择terser作为js代码压缩工具

git merge - 记录下合并动作 很多时候这种合并动作是垃圾信息 - 不会修改原 commit ID - 冲突只解决一次 - 分支看着不大整洁,但是能看出合并的先后顺序 - 记录了真实的 commit 情况,包括每个分支的详情 git rebase - 改变当前分支 branch out 的位置 - 得到更简洁的项目历史 - 每个 commit 都需要解决冲突...

1. 初始化参数:从配置文件和 Shell 语句中读取与合并参数,得出最终的参数 2. 开始编译:用上一步得到的参数初始化 Compiler 对象,加载所有配置的插件,执行对象的 run 方法开始执行编译 3. 确定入口:根据配置中的 entry 找出所有的入口文件 4. 编译模块:从入口文件出发,调用所有配置的 Loader 对模块进行翻译,再找出该模块依赖的模块,再递归本步骤直到所有入口依赖的文件都经过了本步骤的处理 5. 完成模块编译:在经过第4步使用 Loader 翻译完所有模块后,得到了每个模块被翻译后的最终内容以及它们之间的依赖关系 6. 输出资源:根据入口和模块之间的依赖关系,组装成一个个包含多个模块的 Chunk,再把每个 Chunk 转换成一个单独的文件加入到输出列表,这步是可以修改输出内容的最后机会 7. 输出完成:在确定好输出内容后,根据配置确定输出的路径和文件名,把文件内容写入到文件系统 >...

思路:利用对象属性值的唯一性 ```javascript var arr = [0,1, 1,0,3,12, 12, 3, 1,2, 3, 3, 3] const getNum = (arr) => { let obj = {} for(let i = 0; i < arr.length...

retina 是苹果推出的新型屏幕,由4个原像素点去描述一个新像素点(即压缩了2倍),且存在0.5个像素点这样的描述,所以需要兼容。 当一个图像在标准设备下全屏显示时,一位图像素对应的就是一设备像素,导致一个完全保真的显示,因为一个位置像素不能进一步分裂。而当在Retina屏幕下时,他要放大四倍来保持相同的物理像素的大小,这样就会丢失很多细节,造成失真的情形。换句话说,每一位图像素被乘以四填补相同的物理表面在视网膜屏幕下显示。 解决方法就是通过制作两种不同的图形,一张是普通屏幕的图片,另外一种是Retina屏幕的图形,而且Retina屏幕下的图片是普通屏幕的两倍像素 - 直接加载2倍大小的图片 ```javascript $(document).ready(function () { if (window.devicePixelRatio > 1) { var images = $("img.pic"); images.each(function(i) { var x1 = $(this).attr('src'); var x2 = x1.replace(/(.*)(.w+)/, "$1@2x$2");...

![image](https://user-images.githubusercontent.com/21194931/64017598-8d537f00-cb5c-11e9-93ae-fbb86031fc48.png) ```javascript let iterator = (ar) => { let m = ar.length; let n = ar[0].length; for(let i = 0,j = n;i !== j;i++,j--,m--) { for(let i2=i;i2i;i5--) { console.log(ar[i5][i]) }...

```javascript // 构造函数支持传入 URL 参数串 searchParams = new URLSearchParams("foo=1&bar=2") // 构造函数也支持传入一个包含参数键值对的对象 searchParams = new URLSearchParams({foo: "1", bar: "2"}) // 实例支持 get()、set()、has()、append() 四个方法 console.log(searchParams.get("foo")) // "1" searchParams.set("foo", "10") console.log(searchParams.has("bar")) // true...

函数签名: function findPrototypeByProperty(obj, propertyName){ // 请实现函数体 } 使用举例: const foo = {a: 1} const bar = Object.create(foo) bar.b = 2 const baz = Object.create(bar) baz.c = 3 console.log(findPrototypeByProperty(baz, "c") ===...