Faster, Higher, Stronger
更快,更高,更强

JavaScript

webpack条件编译-峰间的云

webpack条件编译

Yakima阅读(161)评论(0)赞(7)

我们有个单页应用项目,因为架构问题等历史原因,页面大大小小已经有400+个页面了!这些页面最终会被放到不同的目标环境里,比如有部分页面会用于放到APP本地资源包里,有部分页面会用于微信端wap站,也有同时被用于多个目标环境的情况。最早的时候...

node和浏览器环境下同一段代码输出结果不同-峰间的云

node和浏览器环境下同一段代码输出结果不同

Yakima阅读(101)评论(0)赞(1)

今天有朋友问我下面这段代码在浏览器和vscode里为啥执行结果不一样。我显示一愣,然后第一反应是是不是vsode里默认用了严格模式(use strict),然后浏览器里默认没用严格模式。事实上这事和是否严格模式没关系,vscode也不会将你...

识别webpack路径别名(alias)-峰间的云

识别webpack路径别名(alias)

Yakima阅读(159)评论(0)赞(1)

如果你和我一样,主用的是IDEA,可以直接打开IDEA配置,在搜索栏搜"webpack",然后就会看到一个可以选择webpack配置文件的地方,点击选中webpack配置文件后保存后,IDEA就能自动识别别名路径了。因为太过简单所以不贴图了...

lin-cms-koa源码阅读之:目录结构-峰间的云

lin-cms-koa源码阅读之:目录结构

Yakima阅读(364)评论(0)赞(1)

在这个项目的官方文档(https://doc.cms.talelin.com/server/)里有对目录结构的说明,如下所示: app ├── api # api 层 │ ├── cms # 关于 cms 的 api │ │ ├── adm...

如何高亮模版代码-峰间的云

如何高亮模版代码

Yakima阅读(680)评论(0)赞(0)

今天有个前端朋友说想要实现模版代码高亮,就是把一个模版字符串里的变量部分高亮出来。简化一下后就是要把"dfasf${1}${2tes}dfsdf${hello3}blabla"这个字符串转换成下面这样的数组(转成数组后每个数组元素外面包一个...

webpack3项目缩包实践总结

Yakima阅读(1040)评论(0)赞(0)

Hybrid app由于开发、更新非常方便,所以应用到的地方非常多。一般大家都是通过http(s)://协议访问web页面,所以其实并不会去考虑每次版本迭代时改动到的文件数量。最近在公司做了两个项目的缩包优化,在我们的场景下,大部分web页...

redux中出现同类名action导致的bug

Yakima阅读(1809)评论(0)赞(0)

最近同事发现了一个历史遗留bug,bug的原因是redux store派发了同名action导致的。因为现在习惯了模块化开发,通常下意思会认为只要是不同模块里导出来的变量被用到不同的页面里,那彼此就没啥关系了。所以刚看到这个bug还是愣了一...

浅谈项目中node和依赖的node包的版本管理

Yakima阅读(1963)评论(0)赞(0)

这是最近才注意的一个问题。之前在上一家公司的时候,有个项目组的项目,经常发生有的人的电脑里安装项目依赖后无法启动项目的问题,然后每每都是让他从别的同事那里把node_modules文件夹打包拷贝过来,我刚去那个项目组的时候也碰到了这个问题,...

Vue2.5.16源码解读一:确定阅读入口-峰间的云

Vue2.5.16源码解读一:确定阅读入口

Yakima阅读(903)评论(0)赞(1)

准备粗略地阅读下Vue,跟网上别人家的源码解读文章不同的是,这个系列是完全以第一次去读代码的视角带大家一起去读的,而非看完源码后以上帝的总结视角来写的系列文章。 要看我们就直接找比较新的版本看,fork vue代码到我们自己的仓库上,clo...

几个eslint插件的介绍

Yakima阅读(1817)评论(0)赞(2)

ESLint支持第三方插件。在使用这些第三方插件前,你需要先使用npm来安装它们。要在eslint配置文件中配置这些插件,需要在配置文件中添加一个“plugins”根属性,其值即为由这些插件名(插件名前面的“eslint-plugin-”前...

JS原型与原型链

Yakima阅读(1009)评论(0)赞(0)

JS中,对象分为普通对象和函数对象两种,Object和Function是JS自带的函数对象。凡是通过new Function()的创建的对象都是函数对象,其他的都是普通对象。 每当定义一个对象(函数)时,对象中都会包含一些预定义的属性。其...

promise的使用

Yakima阅读(1010)评论(0)赞(0)

不像旧回调风格代码,promise可以确保下面这些特性: 回调不会在当前事件循环结束之前被调用; 通过.then追加的回调函数在异步操作结束(成功或失败)之后会被调用,即便这个.then是在异步操作已经被resolved之后追加的; 可以...

loadScripts方法

Yakima阅读(2251)评论(0)赞(0)

使用方法很简单,碰到有js文件依赖的时候,这样使用ready方法: ready([ '../assets/js/jquery.validate.js', ], () => { // 这时依赖的js脚本文件已经加载完毕了,docum...