0%

群里交流的时候我碰到了个需求,是(凌寒初见(资深全栈工、客户端开发工程师))大佬提出来的。

需要将对应文件夹文件打包输出到对应文件夹,但其中我碰到了 require 问题。

webpack 遇到 require 会自动处理引入的文件。

比如我引入了 fs-extra 模块

1
const fs = require("fs-extra");

然后 webpack 就会将里面很多方法抽出来,打包到文件里面。

但是某些场合下,我并不想处理,只想打包后仍能正常引入,因为 Nodejs 环境本身就是 CommonJS 模块系统,原生支持 reuquire

我期望打包前打包后,都可以直接用 require('fs-extra'),而代码不变。

这是我总结的几种 Webpack 取消对 reuqire 处理的几种方式,建议大家在读这篇文章之前能看一下下面的相关资料和参考文章。

阅读全文 »

公司的项目都是 JSP 项目,而我自己喜欢使用 ES6 的一些语法,但是 ES6 的很多方法在 IE8 中不支持,查了资料,可以用 Babel 进行转码。

然而兼容 IE 会碰到很多问题:

  1. IE8 对 ES5 支持不好,一些代码得编译成 ES3。比如转换模块调用时候会出现 exports.default , 而 default 是 IE8 中的关键字会异常。
  2. 缺少很多 API 如: promiseObject-assign 等。
  3. IE8 不完全支持 Object.defineProperty
阅读全文 »

解锁没有二维码的摩拜单车

有一次我出了地铁站,看到万点绿中一点红。就是一辆摩拜单车停在了一堆其他品牌的单车(车身为绿色)中。

我挺惊讶的,这辆单车为什么没有被人骑走呢?

上去看了一下,二维码被刮去了。

我不得不吐槽一下,有人素质真是****,为了将共享单车私用,自己提前拍下二维码或者记下车牌号之后把二维码刮去也有,用自己的锁子把车锁住的也有。

突然想起摩拜单车App最近更新了,添加了一个探测技术(类似于Airsync,当然也有可能是我猜错了想多了。),只要手机靠近车锁,就能不用扫码也能解锁,我试了一下,成功解锁~

阅读全文 »

前言

这几天我在弄公司的网站,弄的过程中,碰到了一个有趣的问题。
公司的软件能够运行在Windows、Mac OS X以及Linux上,所以需要下载对应系统的软件包。比如Windows10 64位的电脑需要下载win64.exe,苹果电脑需要下载dmg后缀的文件。
但是按钮只有一个,怎么让用户点一下就能自动下载对应的软件呢?
这需要网站能够识别和判断用户的操作系统,然后给出对应系统的下载链接。

使用JS识别判断浏览器及操作系统类型

其中主要要用到的是navigator.userAgent

我们可以在W3C或者MDN看一下它的资料:MDN - NavigatorID.userAgent

返回当前浏览器的用户代理(user agent)字符串。
W3C - NavigatorID.userAgent

比如当我们在浏览器中用下面的JS语句的时候,会返回一些信息,如下:

1
2
alert(window.navigator.userAgent)
// 弹出 "Mozilla/5.0 (Windows; U; Win98; zh-CN; rv:0.9.2) Gecko/20010725 Netscape6/6.1"

就这样,我们就能获取我们想要的信息(浏览器及操作系统类型)了。

完整代码

JavaScript部分源码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
var system = {
win32: false,
win64: false,
mac: false,
xll: false
};

//检测平台
var p = navigator.userAgent;

// 进行简单的判断
system.win32 = p.indexOf("Win32") > -1;
system.win64 = p.indexOf("Win64") > -1 || p.indexOf("WOW64") > -1;
system.mac = p.indexOf("Mac") > -1;
system.x11 = (p == "X11") || (p.indexOf("Linux") > -1);

// 绑定按钮
var downloadlink = document.getElementById("download_link");

// 先进行判断,如果判断不出,就直接给出下载页
if (system.win32 || system.mac || system.xll || system.win64) {

if (system.win32) {
downloadlink.href = "https://blog.itnote.me/Web/Web-technical-document-query/"
}

if (system.win64) {
downloadlink.href = "https://blog.itnote.me/Web/search-thank-you/"
}

if (system.mac) {
downloadlink.href = "https://blog.itnote.me/Node-js/centos7-install-nodejs/"
}

if (system.xll) {
downloadlink.href = "https://blog.itnote.me/Nginx/nginx-proxy-install/"
}
} else {
downloadlink.href = "./download.html"
}

Html部分源码

1
2
3
<div id="" class="">
<a href="https://blog.itnote.me" id="download_link" class="download_link">立即下载</a>
</div>

后记

用起来很方便,但是需要一些基础。

为什么会写这篇文章

偶然的发现,我写的上一篇文章需要一个和“谢谢有关的图片,但是我没有在百度图片搜索结果找到让我满意的图片。于是我用谷歌进行了一下搜索,发现了一些很有意思的现象。

百度搜索“谢谢”

如图所示,第一眼看上去,只能看到2张图片有“谢谢”两个字。

谷歌搜索“谢谢”

不用我多说了把,很快就能找到让自己满意的图片

后记

百度还是需要优化一下,毕竟“谢谢”是中文,不要一堆古老的thanks。

今天我回房的时候,急急忙忙的要上地铁,可这辆地铁的安全门快要关闭了,有一位站着的乘客用手挡在门边让门得以延时关闭,我上来匆匆找了一个位置坐下没来得及道谢。
在座位上我和这位乘客对视了一会儿(想说谢谢,但距离不合适),我就看手机了,快下地铁的时候我走过来对这位乘客点头说了一声:“谢谢!”,她也对我笑了一下。
这个经历在生活中也许非常平淡,但是我还是要说这一声谢谢,这是礼貌,同时也期望她感觉开心一些。

就在昨天,我从老板那儿Get了个技能,非常有用。
喜欢折腾的技术宅,多多少少会自己重装“干净”的系统,但是网上下载的大白菜啊,老毛桃啊,总是在你装完系统后加装一些奇奇怪怪的软件,非常讨厌。
然后网上的一键装机也都阉割了很多组件,导致不少软件都不能够正常的使用,非常烦人。

准备工作

一个可以正常使用的Windows操作系统和一个8G以上大小的U盘,这个就不必多说了把。

下载官方原版镜像

在这儿可以下到官方原版镜像:MSND,我告诉你

阅读全文 »

由于不知道JS入门要学习哪些,于是我请教了一下广哥,他抽时间给了我这一份文档,让我有了学习方向。

阅读全文 »