Cookie是什么?它的工作原理是什么?Session是什么?它跟Cookie有什么区别?
如何通过webpack定义全局模块
不知道大家在开发中有没有遇到这种情况,就是在很多模块里都要用到某一个库,于是在这些模块里都要不厌其烦地import一遍。页面少也还好,当项目庞大到一定程度,就有些讨厌了。有没有办法不要每次使用前都import,而是有个全局的引入,在其他任何地方直接使用就行了呢?有,webpack可以帮我们,它的内置插件ProvidePlugin就是为这个而生的。
如何利用webpack定义全局常量
在前端开发过程中,我们在不同的工程阶段,对代码会有不同的要求。比如在开发阶段,我们希望代码能更快地实时编译,自动刷新,可以调试定位源码;在接口测试阶段,我们希望可以不修改源码,只通过修改某个配置,就可以无缝切换接口地址或者上下文,以及决定请求是否携带token;在发布代码时,我们希望输出的代码体积尽可能小,代码可以各种压缩,各种分离打包等等。为了让一套代码适应不同工程阶段的需求,我们通常会刻意制造开发、测试、生产几种编译模式。然后我们通过webpack做一些配置,使得webpack在编译阶段可以识别出当前是什么模式,从而产生不同的编译行为,达到不同的编译效果。
而这个配置,就是webpack.DefinePlugin。它是webpack的内置插件,用于提供自定义全局常量功能。
webpack解决跨域的几种方法
作为前端攻城狮,经常要面临的问题就是跨域,不论是调自己mock服务的数据,还是真实前后台联调。因为接口服务与前端工程通常都是独立的工程,而前端有很多协议需要遵循
同源策略
(后端则不需要)。解决跨域的方法有很多,可以在服务端配置,也可以在前端解决。作为前端开发者,我更偏向在前端把跨域解决掉,别问我为什么,我就是喜欢这种不依赖后端的感觉[傲娇脸]。
es6-promise
自从2015年 ES6(ECMAScript 6)正式发布以来,许多JS新特性让我们的前端开发更加语意化,更加高效。在享受新特性给我们带来的便利的同时,在各类前端框架和业务代码满天飞的同时,我觉得仍有必要不间断地去了解和总结原生JS的底层机制、原理及其优缺点。就从Promise开始。
git进阶之合并多次commit
当我们开发一个功能,不是一时半会可以完成的时候,为了保护代码不丢失,通常会把这次的修改先 commit,等到这个功能完全做好,再 push。不过这样一来,就会有很多零碎的 commit 记录,这会使远程的提交历史显得杂乱。
必要的时候,我们需要将这些相近的 commit 合并为一个 commit 再 push。当然了,如果你想合并远程的 commit 也是可以的,但请一定要提前跟团队里的其他人说一声,免得有人也在跟你做同样的事情,导致没必要的代码冲突(所以合并 commit 尽量在 push 前)。
Webpack error 之 TypeError: Cannot read property 'properties' of undefined
老项目重新 npm install 的坑,问题原因比较隐蔽,记录一下。
node.js操作数据库之MongoDB+mongoose篇
node.js
的出现,使得用前端语法(javascript)开发后台服务成为可能,越来越多的前端因此因此接触后端,甚至转向全栈发展。后端开发少不了数据库的操作。MongoDB
是一个基于分布式文件存储的开源数据库系统。本文为大家详细介绍了如何用node.js
+mongoose
玩转MongoDB
。希望能帮到有需要的人。由于我用Mac开发,以下所有操作都是在Mac下进行。
github项目徽标
GitHub徽标,GitHub Badge,你也可以叫它徽章。就是在项目README中经常看到的那些表明构建状态或者版本等信息的小图标。就像这样:这些好看的小图标不仅简洁美观,而且包含了清晰易读的信息,在README中使用小徽标能够为自己的项目说明增色不少!如何给自己的项目加上小徽标呢?