夭幻境地

Do I want !

  • 基于Nuxt.js构建同构应用

    2018-12-11 19:30 37
    本文涉及技术栈:ES6(包括Promise、async/await等)、Vue(包含vue-router、vuex)、类express Node.js Web框架SPA应用遇到的瓶颈前后端分离的开发模式衍生出了SPA应用(Single Page Application)并得以迅速发展。 由于SPA的一些限制,使其主要应用于管理后台及一些重操作应用。 SEO - 渲染完全由JS完成,页面无内容HTML 首屏加载速度 - 页面请求->JS资源请求->(数据请求)->执行渲染 (延迟了用户可见界面的时间) 旧版浏览器兼容 - 流行框架Vue的...
  • 从Nuxt项目变化了解到monorepo

    2018-12-07 11:56 39
    大约两三个月之前拜读过Nuxt.js 1.4.2源码及2.1.0 的大版本更新,那时候Nuxt的核心功能都在nuxt package中,包含了模板、配置、构建及核心 renderer、中间件等模块。 直到最近闲暇准备分享Nuxt,在搜集资料的过程中再次拜读了其源码。 这时的版本已是 2.3.x。刚一入眼突然感觉这与之前似乎已完全不是同一个项目,在Nuxt发布到npm的package中只剩下对@nuxt/core、@nuxt/builder、@nuxt/generator这些包的引用,我意识到Nuxt项目是把核心功能拆解成各个功能不同的依赖包了,包括其cli。 在源...
  • 服务端推送 EventSource

    2018-10-12 11:00 208
    服务端推服务端推,指的是由服务器主动的向客户端发送消息(响应)。在应用层的HTTP协议实现中,“请求-响应”是一个round trip,它的起点来自客户端,因此在应用层之上无法实现简易的服务端推功能。当前解决服务端推送的方案有这几个:客户端长轮询websocket双向连接iframe永久帧长轮询虽然可以避免短轮询造成的服务端过载,但在服务端返回数据后仍需要客户端主动发起下一个长轮询请求,等待服务端响应,这样仍需要底层的连接建立而且服务端处理逻辑需要相应处理,不符合逻辑上的流程简单的服务端推送;websocket连接相对而言功能最强大,但是它对服务器的版本有要求,在可以使用websocket协议...
  • 学习中,一个比掌握知识更重要的能力

    2018-10-12 09:38 152
    我究竟该学什么?我一朋友的公司,专门给创业者提供创业培训。有一天,他和我聊道, 现在创业者有一个普遍困扰,那就是不知道该学什么好。 我说:为什么? 他说:你想啊,创业者累成狗,本来时间就很少,结果创业方法今天出一个还没弄明白,明天就又出来一个——根本学不过来啊! 我一听,嘿嘿乐了。我说,你以为只有创业者累成狗,没时间学那么多东西啊, 我们都一样! 你看看,今天,不仅新知识产生的速度越来越快,而且知识发布的形式和渠道也越来越多,什么音频说书,视频讲课,在线培训等都在快速增加。这一点, 看“知识付费”行业这两年的快速兴起就是一个...
  • JavaScript 浏览器环境

    2018-10-11 10:50 232
    JavaScript 是浏览器的内置脚本语言。也就是说,浏览器内置了 JavaScript 引擎,并且提供各种接口,让 JavaScript 脚本可以控制浏览器的各种功能。一旦网页内嵌了 JavaScript 脚本,浏览器加载网页,就会去执行脚本,从而达到操作浏览器的目的,实现网页的各种动态效果。代码嵌入网页的方法网页中嵌入 JavaScript 代码,主要有三种方法。<script>元素直接嵌入代码。<script>标签加载外部脚本事件属性URL 协议script 元素嵌入代码<script>元素内部可以直接写 JavaScript 代码。<scri...
  • CSS3 滤镜的不常用用法

    2018-10-10 11:40 227
    本文主要介绍 CSS 滤镜的不常用用法,希望能给读者带来一些干货!本文所描述的滤镜,指的是 CSS3 出来后的滤镜,不是 IE 系列时代的滤镜,语法如下,还未接触过这个属性的可以先简单到 MDN -- filter 了解下:{ filter: blur(5px); filter: brightness(0.4); filter: contrast(200%); filter: drop-shadow(16px 16px 20px blue); filter: grayscale(50%); filter: hue-rotate...
  • 编程入门指南

    2018-10-08 12:57 138
    令人警醒的故事刚上初中时我便开始了编程学习,很不幸,我读完了好几本当时普遍存在的诸如《21天精通C++》这类的垃圾书,当时读完也无大碍,甚至还能写点小程序。但是软件出故障了我不知道为什么,稍显庞大的编程问题无从下手,碰到现有的库做不到的事也只能两手一摊。虽然我每天不停地编码,但我发现自己的编程能力却是提高的如此缓慢,对于「迭代」与「递归」的概念只有极其有限的了解,可以说只是把计算机当成了计算器来使用。进入大学后,我主修了物理学,最初的一段时间里我一直在记忆背诵那些物理公式,却不理解她们是如何得出的,她们之间有什么联系,亦或是她们的意义。我不停地学习如何计算解答一些常见的物理问题,却对在这些Ho...
  • Nuxt从1.4.2升级至2.1.0的一些重要变化

    2018-10-07 16:45 597
    Nuxt最近刚发布了2.0版本,目前最新版本为2.1.0。我博客项目应用的是1.4.2版本,经过一段时间对源码的研究,逐步实现了1.4.2到2.1.0的平稳迁移,以下是我的一些总结。重要变化webpack 版本升级到 4.x,构建配置变更一些项目依赖包的版本升级,可能需要手动升级ESlint版本升级至7.xpostcss-cssnext替换为postcss-preset-env,通过build.postcss.preset进行配置支持nuxt.config.js、serverMiddleware、module部分的 ES6 模块规范(esm模块提供)client和server的构建输出分离,静...
  • npx是什么

    2018-09-29 10:00 825
    你是否遇到过这种情况:当你想尝试一些命令行工具,但却苦恼于不得不全局安装它们来运行仅仅一次?特别是generators类工具如webpack、 @vue/cli 这样的工具很久才用到一次。但当你需要重新运行他们的时候,它们往往已经过期了,所以你不得不在每次想要使用它们时重新安装。在过去的几年中,npm生态越来越倾向于将devDependencies安装包作为项目本地依赖安装,而不是让用户在全局安装。这意味着像 webpack、 @vue/cli 这种我们过去主要是全局安装的命令行工具,现在可以基于项目维度来管理他们的版本。这也意味着如果你要运行一个基于...
  • Node中的ES6模块规范实现

    2018-09-27 17:34 255
    概述 Node 对 ES6模块的处理比较麻烦,因为它有自己的 CommonJS模块格式,与 ES6模块格式是不兼容的。目前的解决方案是,将两者分开,ES6模块和 CommonJS 采用各自的加载方案。 Node 要求 ES6模块采用.mjs后缀文件名。也就是说,只要脚本文件里面使用import或者export命令,那么就必须采用.mjs后缀名。require命令不能加载.mjs文件,会报错,只有import命令才可以加载.mjs文件。反过来,.mjs文件里面也不能使用require命令,必须使用import。 目前,这项功能还在试验阶段。安装 Node v8.5.0 或以上版本,要用--...
  • 加载更多