getBoundingClientRect与transform的兼容
先说结论
getBoundingClientRect
会受到 transform
的影响,比如你的元素设置了 transform:scale(2)
,那么 getBoundingClientRect
返回的 width
会是元素实际宽度的2倍,top
等位置信息也会因为元素尺寸变化而发生变化。
getBoundingClientRect
会受到 transform
的影响,比如你的元素设置了 transform:scale(2)
,那么 getBoundingClientRect
返回的 width
会是元素实际宽度的2倍,top
等位置信息也会因为元素尺寸变化而发生变化。
由于产品诉求,需要给已有发布的组件添加国际化支持功能,网上大部分都是国际化插件使用的案例,所以经过了一番摸索实践,有了一下的方案。我这里使用的插件是 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
去年移动送了一个机顶盒,一直扔在柜子了没打开,这两天收拾屋子翻出来了,自从上次刷机后尝到了甜头,这次干脆继续刷机,无聊的时候接个显示器就可以娱乐一下,刷机工具和刷机包我放最后,至于双头USB自己做或者买都是可以的。这台机器内存1G,性能有点拉胯,所以不要报太高的期望,就拿他玩玩就好。