当使用WebStorm/Visual Studio Code时针对package.json中定义的脚本,我们都可以直接点击debug启动脚本,为什么这样做就可以调试呢,这里粗粒度解释下

IDE下的debug

比如原脚本是 "start": "node app.js",当我们需要调试这个node服务时,点击debug按钮,打印信息如下

1
2
3
4
5
6
7
8
9
10
/Users/alanhe/.nvm/versions/node/v18.16.1/bin/npm run start

> express-demo@0.0.1 start
> node app.js

Debugger listening on ws://127.0.0.1:63206/3fc8664c-10d9-4f99-8ed8-04efd382d9ae
For help, see: https://nodejs.org/en/docs/inspector
Debugger attached.
Example app listening on port http://127.0.0.1:8000!

阅读全文 »

这里罗列下作为前端开发者常用到的npm包

  1. local-web-server

    ws一下,随时起一个web server

  2. whistle

    代理服务

  3. chalk

    console输出彩色化

  4. readline

    终端交互输入

前端代码中经常需要打开新页面,这里总结下做法和遇到的问题

做法

  1. a标签
  2. window.open

两者具体来说window控制会更为精细,比如可以控制窗体宽高等。a标签的话需要DOM下需要创建出a标签元素,只是具体可见不可见就看情况了。a标签相比较更为推荐,因为代表着用户行为驱动的交互形式。

pwa中的行为表现

阅读全文 »

Caddy相较Nginx更为简单,做服务器代理太方便了,尤其是HTTPS证书获取。这里记录下常用操作。

安装

推荐走包管理器安装,比如Mac下

1
brew install caddy

CentOS7如下

阅读全文 »

最近遇到个问题,即远程桌面开启后,切换到别的tab页,输入事件失效了。

1
2
3
4
5
6
7
8
9
10
var keyboard = new Guacamole.Keyboard(document);

keyboard.onkeydown = function(keysym) {
// Do something ...
};

keyboard.onkeyup = function(keysym) {
// Do something ...
};

代码大致如上。

原因

Guacamole.Keyboard进行了事件捕获且阻止了冒泡,因此只要没有销毁就会一直捕获网页所有按键。

阅读全文 »
0%