王叨叨 发布的文章

最近在给组件底层脚手架升级,同时也把webpack4升级到了webpack5,但是发现升级后打包会生成LICENSE文件:

2024-07-30T05:17:42.png

查阅官网资料,找到了解决办法:

https://webpack.docschina.org/plugins/terser-webpack-plugin/#extractcomments

webpack.config.js中修改配置:

const TerserPlugin = require("terser-webpack-plugin")
module.exports = {
    optimization: {
        minimize: true,
        minimizer: [new TerserPlugin({
           extractComments: false, //不将注释提取到单独的文件中
        })],
    },
}

修改之前,再次打包即可。

时间过的太快,距离上次更新已经过去了半年。草稿箱里面的文章也有几篇写了没有发,最早的竟然能够追到2019年,谁知道之后就有了疫情呢……

2024-05-23T11:50:23.png

有时候在想,人这一生追求什么?什么才是有意义的?时代变化太快,一夜之间各种事物都在发生改变,可能之前追求的突然变的没有了意义。

最近身边的两个同事,生活也是不太如意,暂且称A和C吧(猜猜谁是B),A同事呢,为人老实,没自己的底线和原则,结果就是媳妇让怎么做就怎么做,有时候连最基本的孝道都没有。C同事呢,有自己的做事底线,结果呢因为谁来管钱也是和媳妇经常干架……两个同事,两个极端。对于A同事,我经常说,一定要要自己的底线,守住自己的底线,但是收效甚微。对于同事C呢,我经常说一定要好好沟通,过日子分不了那么清,各自退让一点就能避免。你们觉得这两个同事该怎么处理家务呢?

其实生活中,有一部分就和我身边这两个同事一样,两个极端。为什么离婚率这么高,其实大家心里都比较清楚。到底两个人过日子追求的是什么?

最近听到的一句话比较有道理,命运:命 + 运。

命是定数,命中有时终须有,命中无时莫强求,人从一出生,其实就命中注定了一些东西。举个简单例子,路边的小草,长在麦田里面就必须被拔掉,长在足球场中的草坪就有人特别打理,小草能决定长在哪里吗?就和人投胎一样,有人出生就在别人的终点,有的人一辈子可能都没办法达到……

运是变数,时来运转就是这个道理,举个例子有人买虚拟币实现了财富自由,这几年发生的还不少,另外就是拆迁,一下几千万到账。但是其实运还是受命的限制,虽然有钱了,但是出意外了,坐牢了得绝症了,反正就是有钱,但是这个钱轮不到花……我举得这例子可能不太恰当,但是实实在在就发生了。

如果想通了这些,你觉得现在追求的还有意义吗?我之前读了凡四训这本书,当时觉得命是可以改的,你看了凡先生,一直做善事,结局很好。但是现在想一想,当时遇到的那个算命先生其实也是他命中注定要遇到的,他的命其实一开始就注定了。

如果知道了自己的结局,你会怎么过?珍惜、挥霍、还是得过且过?

努力生活,坦然面对,这是我的答案,你的答案呢,不妨留言一起交流一下。

饿了么表格性能一直是有些问题的,特别是使用了固定列,表格会把固定列克隆出来一份,这样会导致渲染很多冗余DOM,随着数据量的增加,冗余DOM也会变多,如果固定列再使用插槽,里面嵌套复杂的组件,性能会下降更多。

最近在做表格的性能优化,发现如果不考虑IE浏览器的情况,可以使用 position: sticky 来实现固定列。

- 阅读剩余部分 -

frp 内网穿透

这个是最常用的功能,如果自己没有vps的话,可以找一些免费的来使用。

[common]
server_addr = frp.freefrp.net
server_port = 7000
token = freefrp.net

# 注意下面的yourname要取一个和别人不重复的名字,名称冲突会启动失败

# http示例
[yourname_http]
type = http
local_ip = 192.168.0.2
local_port = 5000
# 自己的域名,需要 CNAME frp.freefrp.net
custom_domains = nas.yourdomain.com

# https示例
[yourname_https]
type = https
local_ip = 192.168.0.2
local_port = 5001
custom_domains = nas.yourdomain.com

# ssh示例
[yourname_linux_ssh]
type = tcp
local_ip = 192.168.0.3
local_port = 22
remote_port = 22222

# 远程桌面示例
[yourname_windows10_rdp]
type = tcp
local_ip = 192.168.0.4
local_port = 3389
remote_port = 33333

- 阅读剩余部分 -

起源

由于产品诉求,需要给已有发布的组件添加国际化支持功能,网上大部分都是国际化插件使用的案例,所以经过了一番摸索实践,有了一下的方案。我这里使用的插件是 vue-i18n,借鉴(抄了)了element-ui中的国际化部分源码。

- 阅读剩余部分 -

网上也搜了一些解决方案,都是去修改文件的,但是对我来说并没有生效,所以再提供一个解决方案,希望能有帮助。

假如安装完NRM后,运行报错:ERR_REQUIRE_ESM

Error [ERR_REQUIRE_ESM]: require() of ES Module D:\Program Files\nvm\v16.19.1\node_modules\nrm\node_modules\open\index.js from D:\Program Files\nvm\v16.19.1\node_modules\nrm\cli.js not supported.
Instead change the require of index.js in D:\Program Files\nvm\v16.19.1\node_modules\nrm\cli.js to a dynamic import() which is available in all CommonJS modules.
    at Object.<anonymous> (D:\Program Files\nvm\v16.19.1\node_modules\nrm\cli.js:9:14) {
  code: 'ERR_REQUIRE_ESM'
}

2023-03-27T05:03:29.png

推测此问题应该是 nrm 的问题,在nrm/cli.js中使用了process.env.HOME这个环境变量导致。

如果有类似的错误,试试使用 github 方式安装:

npm install -g Pana/nrm

2023-03-27T05:05:00.png