王叨叨 发布的文章

之前一直使用的是搬瓦工的一台服务器,内存小的可怜,动不动就爆了,但是又不想换国内的,所以一直在勉强的顶着。最近发现RackNerd VPS正好有黑五优惠,网上也查了下褒贬不一,RackNerd 主要是性价比卖点,便宜量大管饱,所以干脆入手一台,反正也不贵。搬瓦工那台服务器速度还不错,如果有人需要可以转让。

RackNerd成立于2019年,美国商家,主要提供虚拟主机、VPS主机和服务器等。数据中心在圣何塞、洛杉矶、达拉斯和芝加哥等美国和欧洲等地。目前主要销售洛杉矶mc机房和洛杉矶鲨鱼机房两个数据中心VPS,两者都属于亚洲优化的中低端线路,优势是价格低廉、流量比较多,采用主流的SolusVM控制面板,非常适合海外建站等业务。

- 阅读剩余部分 -

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

生成的LICENSE文件

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

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, //不将注释提取到单独的文件中
        })],
    },
}

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

饿了么表格性能一直是有些问题的,特别是使用了固定列,表格会把固定列克隆出来一份,这样会导致渲染很多冗余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'
}

报错信息

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

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

npm install -g Pana/nrm

修复完成