20190818 前端开发日报

Vue-cli +typescript+webpack4 项目搭建超详细步骤;「2019 JSConf -Brie Bunge」 大规模应用TypeScript;大规模应用TypeScript「2019 JSConf -Brie Bunge」(下);基于Vuex从零实现自己的Vuez插件-getters(二);JS原型那些事儿;css按钮交互效果;分享常用的 CSS 函数,助你写出更简洁的代码;vue移动端h5适配解决方案(rem or vw)

  1. vue-cli +typescript+webpack4 项目搭建超详细步骤 前言: 因为最近才开始接触Typescript,然后首先就是搭建环境,而网上教程时间比较久而且不全,所以在这里记录下手把手的详细脚印。:joy: :tada::tada::tada: 源码地址请戳 :point_down::point_down::point_down: vue-ts-init 1、初始化项目 vue init webpack vue-ts-init cd vue-ts-init npm install 复制代码 ...
  2. 「2019 JSConf -Brie Bunge」 大规模应用TypeScript 这是一个由 simviso 团队对 JSConf.Hawaii 中关于 Typescript大规模应用 相关话题进行翻译的文档,内容并非直译,其中有一些是译者自身的思考。分享者是Brie Bunge,Airbnb高级前端工程师。 视频地址: 大规模应用TypeScript「2019 JSConf -Brie Bunge」 视频翻译版权归 simviso 所有,微信公众号: Simviso , ...
  3. 大规模应用TypeScript「2019 JSConf -Brie Bunge」(下) 这是一个由simviso团队进行的关于Airbnb大规模应用TypeScript分享的翻译文档,分享者是Airbnb的高级前端开发Brie Bunge 视频链接: 大规模应用TypeScript「2019 JSConf -Brie Bunge」 或点击文章底部阅读原文观看视频 接上篇文章: 大规模应用TypeScript「2019 JSConf -Brie Bunge」(上) 视频翻译...
  4. 基于Vuex从零实现自己的Vuez插件-getters(二) 在上篇文章中,我们已经实现了对所有的 Vue 实例绑定同一个 store 实例。 回顾 Vuex 的使用 Vue 官网 vuex的使用 实现一个 Store 类 通过上面官网的介绍,我们可以知道数据的访问,都是通过 store. 的方式来进行的,也就是说, store 的实例上必须有这些属性,根据这个,我们来...
  5. JS原型那些事儿本篇主要是记录一下对js中对于原型的理解... 原型 原型涉及到构造函数, 原型对象, 实例化对象三者之间的关系... 构造函数 {代码...} 实例对象 {代码...} 原型对象 {代码...} 下面用一张图来表示他们之间的关系......
  6. css按钮交互效果最近在网上闲逛时,发现了[链接] 这个毒鸡汤,内容有趣,按钮交互做的也很棒,简约而不简单。于是就把按钮交互的效果拿来学习一下。总体上来说,是利用了:active和box-shadow两个特性来实现的。希望通过这个简单...
  7. 分享常用的 CSS 函数,助你写出更简洁的代码 分享一些在项目中好用的一些CSS辅助函数,可以直接应用到你自己的样式代码中,传送门。这些函数当然不是CSS原生写法,有分为sass语法和less语法两套,大家可以自行选择复制或者下载。 下面罗列的均是scss语法。less语法请查看传送门 1、_clearfix %clearfix { &:after, &:before { c...
  8. vue移动端h5适配解决方案(rem or vw) amfe-flexible:根据设备宽度,修改根元素html的大小,以适配不同终端 px2rem-loader:将css中的px转为rem单位,用了它就不用自己计算rem值了 注意:amfe-flexible是lib-flexible的优化,主要区别是amfe-flexible不会改变视口大小 安装 + 配置 1. 安装amfe-flexible和px2rem-loader npm install -s amfe...
  9. 代码提交git时自动格式化并通过ESlint检测 前言 在同一个项目中,一般都是几个人合作开发,每个人的代码风格不同,因此提交到git之前,需要统一下格式,因此才有了这篇文章,分享一下自己的配置过程。希望每个小伙伴都能规范自己的代码,如果你认为对你有帮助或者有小伙伴有更好的方法欢迎积极留言! 准备工作 以vue为例,用脚手架生成一个项目,目录结构...
  10. 一文学会使用Vuex 什么是Vuex,这里就不介绍了,请移步到官网 vuex.vuejs.org/zh/guide/ 学习,这里我们只需要知道Vuex可以用来做应用的状态管理。 首先来看一下使用vue create my-project命令生成项目的时候,自动生成的Vuex的代码,store.js: import Vue from 'vue' import Vuex from 'vuex' Vue.use(Vuex) export default new Vue...
  11. 异步Promise以及Async / Await Promise 的 then 链式写法本质上是一直往下传递一个新的Promise ,也就是说 then 在下一步接收的是上一步返回的Promise。 看以下代码: const setDelay = millisecond => { return new Promise((resolve, reject) => { if ('number' != typeof millisecond) reject(new Error('参数必须是number类型'...
  12. 提高效率的 10 个 Git 小技巧你是否有过破坏了某个文件,想要重新开始?或者需要的文件在另一个分支中?下面的命令让你直接从某个分支取到那个文件。
  13. Webpack源码分析(1)--之 流程总览 最近花时间把 Webpack 的源码撸了撸,很有收获,记录下来 Webpack 绝对是前端划时代的产物,它的周围生态非常丰富,社区产出了各种 plugins,loaders,这也说明了 Webpack 的架构非常灵活,既然它的架构这么厉害,就值得我们学习, 有的人说 现在浏览器已经在支持 es module 的形式了,未来webpack会淘汰的,不应该把...
  14. Vue之从零编写一个ContextMenu(右键菜单)插件 前言 ContextMenu 即右键菜单,当前的需求是:右键点击某些组件时,根据所点击组件的信息,展示不同的菜单。 本插件已开源,具体代码和使用可参考: vue-contextmenu 本文采用的是 vue 技术栈,部分处理对于 react 是可以借鉴的 其中需要注意的点有: 菜单完全显示,即右键点击位于页面下/右侧时,菜单应该...
  15. js 面向对象编程(OOP) ps 函数编程编程(FP) 浏览下文我觉得还是要有些基础的!下文涉及的知识点太多,基本上每一个拿出来都能写几篇文章,我在写文章的过程中只是做了简单的实现,我只是提供了一个思路,更多的细节还是需要自己去钻研的,文章内容也不少,辛苦,如果有其他的看法或者意见,欢迎指点,最后 纸上得来终觉浅,绝知此事要躬行 javscript 中函数和对...
  16. Vue双向数据绑定原理及实现 对于Vue.js技术栈,我们的第一想法有可能就是容易上手,对于新手比较友好。确实如此,笔者刚刚入手的时候,觉得比较容易,而且在使用的过程中,也感觉到了它的强大。 最近在准备面试,只知道Vue.js的使用是远远不够的,所以开始剖析Vue.js的源码。下面一步一步讲解其原理以及实现。 先给出源码的 github 地址。 ...
  17. VuePress从零开始VuePress 由两部分组成:一个以 Vue 驱动的主题系统的简约静态网站生成工具,和一个为编写技术文档而优化的默认主题。它是为了支持 Vue 子项目的文档需求而创建的。
  18. tensorflow.js 的服务器端安装 tensorflow是谷歌推出的一款神经网络算法库,利用这个算法库可以实现深度学习。目前这个算法库已经绑定了多种开发语言,而tensorflow.js就是Javascript语言的具体实现,在tensorflow的官网上有专门的Javascript板块,地址:https://www.tensorflow.org/js。tensorflow.js的最初版本只能运行在浏览器中,借助webgl调用GPU...
  19. React Native 混合开发与实现 前言 随着React的盛行,其移动开发框架React Native也收到了广大开发者的青睐,以下简称 RN。通过 RN 我们能够使用 JavaScript 语言来实现跨平台移动应用的开发,打开了前端工程师通往移动平台的大门。用 RN 官方的介绍来概括它的特点就是:Learn once, write anywhere。 如果你了解 React,那...
  20. vue使用slot分发内容与react使用prop分发内容 将 <slot> 元素作为承载分发内容的出口 // layout.vue <div class="container"> <main> <slot></slot> </main> </div> 复制代码 当组件渲染的时候, <slot></slot> 将会被替换该组件起始标签和结束标签之间的任何内容 // hone.vue &lt...
  21. Nodejs核心模块简介学习nodejs必须要掌握其核心,就像学JavaScript必须掌握函数、对象、数据类型、BOM、DOM等。
  22. 本地存储—— Cookie 到 Web Storage、IndexDB 手机上现在除了有原生 App,还能跑“WebApp”——它即开即用,用完即走。一个优秀的 WebApp 甚至可以拥有和原生 App 媲美的功能和体验。 我认为,WebApp 就是我们前端性能优化的产物,是我们前端工程师对体验不懈追求的结果,是 web 网页在性能上向 Native 应用的一次“宣战”。 WebApp 优异的性能表现,要归功于浏览器存...
  23. JavaScript 中 0.1 + 0.2 的精度以及数字类型的整理 JavaScript 中数字是如何表示的 JavaScript 中的所有数字都是浮点数,使用 64 位二进制来表示,也叫做双精度浮点型,这种方式出自于 IEEE-754 标准。 64 位二进制的表达方式 计算公式 公式解读 S (Sign/1bit):符号部分,当 S=0,V 为正数;当 S=1,V 为负数。 ...
  24. Babel 7 转码的正确姿势 Babel 转码的配置是每位前端童鞋在日常工作中都会遇到的。刚开始我也是在网上搜索各种配置方法,升级到 Babel 7 的时候又折腾了一把,所以决定把自己的心得和理解记录下来,希望能帮助到有需要的童鞋。 这里呢不打算去讲每一个详细的配置项,毕竟官方文档是最权威的。这篇主要是说下 Babel 7 转码中会涉及到的几个主要...
  25. 用nodejs和react实现即时通讯简易聊天室功能 npx create-react-app socketio-demo 复制代码 进入socketio-demo目录 运行eject进行拆包,本项目也可以不拆,这是个人习惯。 注意如果运行eject命令最好在项目初始阶段执行,已经开始编写后不要再使用容易出现bug,新人谨慎使用eject命令 yarn eject 复制代码 项目拆包后创建服务器文件夹和文件 mkdir server t...

关注github前端日报 订阅精彩文章

前端日报栏目数据来自码农头条,每日分享互联网上热门的前端开发、移动开发、设计、资源和资讯等,为开发者提供动力,如果觉得内容对你有用,记得分享给你的小伙伴。进入码农头条查看更多

原文:20190818 前端开发日报 ,未经许可,禁止转载。
来源:前端开发博客 (http://caibaojian.com/fe-daily-20190818.html)