20. FATAL ERROR: NewSpace::Rebalance Allocation failed - JavaScript heap out of memory 如何解决?
在系统堆上分配的内存也称为动态分配的内存。 由程序员决定使用合适的可用内存。 程序的堆大小取决于分配给它的可用虚拟内存。 如果正在运行一个相对较大的项目,它可能需要比默认分配的块更多的内存。 会导致项目崩溃并记录"JavaScript 堆内存不足"错误。 Windows上的解决方案就是在powerShell下执行如下命令: 添加一个NODE_OPTION环境变量,设置给node分配的默认动态内存是4GB.
bash
$env:NODE_OPTIONS="--max-old-space-size=4096"
19. Thinkpad 笔记本的按钮如何拆卸?
内置电脑键盘的J键失灵了,按别的按键的时候,会输入许多J,我决定清扫一下按键帽下面的灰尘,看看会不会恢复。 键盘帽的拆卸。先扣左上角,再扣右上角,再慢慢拉掉下面的部分,就可以卸掉键帽。
清扫了一下按键帽下面的灰尘,果然正常了。按键帽的安装先装好下面两个卡扣,然后将往上推,就可以了。
18. 如何快速设置一个长表单各项为只读,以及部分项可以点击?
给长表单加一个蒙层,并禁用鼠标事件,如果表单中部分区域运行点击,比如说上传图片的预览功能,可以给需要点击的块设置pointer-events: visible;
属性。
css
.only-read-area {
width: 100%;
height: 100%;
background-color: #fff;
opacity: 0.7;
pointer-events: none;
.can-click-area {
pointer-events: visible;
}
}
17. coding代码仓库设置中的禁止强制推送和允许直接推送,有什么区别?
如下图所示,禁止强制推送的使用场景是要在命令行,对主干分支进行紧急回退,这时你发现输入git push
命令推送,提示你要先更新,输入git push -f
命令,提示你主干分支不允许强制推送。这个时候就需要临时关闭禁止强制推送开关。
打开允许直接推送
开关后,就可以直接在命令行向保护分支推送改动,而不是每次都要新开分支,在线提合并申请。
16. Git合并分支时,合并顺序会影响合并结果吗?
答案是肯定会,将2个不同功能的特性分支合并到公共分支,其中一个分支上,是某个模块的老版本功能,如果先把带有某个模块新版本功能的代码合并到功能分支,再把带有某个磨了旧版本功能的分支合并到公共分支,会造成含有某个模块新功能的分支代码会被篡改,引起运行错误。虽然没有发生冲突,但新版本功能分支会多出一个老版本功能的代码,打包构建并不报错,可是运行时会报错。另外合并分支行时,新老文件产生冲突,与其逐个解决冲突的代码片段,不如直接用新版本文件内容替换掉老版本内容,操作更高效。
15. 如果要买一台笔记本电脑用于编程的话,首要关注的性能指标是什么?
找一个平时运行的时候造成电脑卡死的项目,启动项目,Ctrl+Alt+Del打开任务管理器,你会发现,性能瓶颈是CPU和内存,所以买电脑时,首要关注这两个指标。尤其是CPU,相对而言,扩展起来没有内存那么好扩展,从主板上拆卸,焊接新的CPU都比较麻烦,不想换内存,扭几个螺丝,把内存条插上去就行。
14.Echart如何设置tooltip文字左对齐?
问题如下,echart的tooltip第一行文字不是左对齐,如何进行设置,查了半天才找到,所以记录一下
js
{
tooltip: {
// ...
textStyle: {
align: 'left',
},
// ...
},
}
13. 如果代码没有发生变更或者修改了构建分支,Jenkins的修改记录会不会显示构建记录?
答案是不会,Jenkins修改记录会跳过没有实质发生变更的构建序号,另外替换构建分支时,初次构建Jenkins修改记录也不会显示构建序号。如下图所示:构建记录是连续的
修改记录是断断续续的,断断续续的原因包括上面提到的两个原因,当然也有其它原因,会造成修改记录与构建记录并不是一一对应。
12. 不设置word-break: break-all;
会引发什么问题?
flex容器,没有给子项页面标题设置rd-break: break-all;属性,结果遇到页面标题是很长的纯数字内容时,影响了原来的页面布局,右边挤占了左边的空间,所以页面标题允许输入数字时,要加上这个属性。
11. 打包构建错误如何查看?
jenkins打包会在报错的地方停下来,并显示报错信息。注意是要找报错而不是警告,有些项目eslint警告一大堆,混淆了人的视线,让人看不懂构建失败是哪里出了问题。
10. 如何判断js脚本是否加载完?
比如说有这样一个使用场景:判断腾讯地图sdk资源加载完成之后,再去执行地图初始化流程。笔者写了一个Promise版的js资源文件是否加载完的函数,如下:
js
export function loadJSAPI(jsUrl) {
return new Promise((rs, rj) => {
const script = document.createElement('script');
// @ts-ignore
script.crossorigin = 'anonymous';
script.src = jsUrl;
script.onload = async () => {
rs('ok');
};
script.onerror = () => {
rj('qy-wx-sdk:loadError');
};
document.body.appendChild(script);
});
}
9. webpack如何开启支持顶层async/await功能?
json
module.exports = {
experiments: {
topLevelAwait: true,
},
}
如果用到了tsx,那么还需要在tsconfig.json中设置
json
{
"compilerOptions": {
// ...
"module": "esnext",
"target": "esnext",
},
}
8. 如何生成一张尺寸达标的测试图片?
微信分享,设置的卡片图片显示不出来,后来查询了一下,微信分享图的分辨率长宽要大于等于200*200
,图片尺寸不能超过32k, 那么怎么生成这样的图呢,答案是采用win系统自带的画图功能。可以自己调整生成图的分辨率。
7. 谷歌浏览器的地址栏默认搜索引擎突然变成了百度,如何恢复?
在设置-->搜索引擎菜单下,重新设置地址栏使用的搜索引擎。
6. 如何清除Jenkins工作空间缓存?
Jenkins构建之后,发现并未生效,一劳永逸的解决方法是: 当打包成功后,删除原来的Jenkins工作空间内容
5. 有外接显示器的时候,如何让笔记本电脑变成主显示器?
1.在桌面右键单击,在菜单中选择"显示设置"
- 点击标识,看看笔记本显示器是哪一个
3.找到后,勾选设为主显示器,点击应用即可。
4. React老项目报错 Extra semicolon semi, 如何解决?
这是eslint报的错误,意思是每行的行尾,不应该加分号, 要修改这条规则的话,在.eslintrc.js中的rules中添加如下规则,即可关闭这个错误提示。
json
rules: {
semi: 'off',
}
3. Multiple configuration files found. Please remove one: -- package.json报错如何解决?
多个配置文件被发现,请移除一个的解决方法是移除package.json中的babel配置
json
"babel": {
"presets": [
"./.babelrc.js"
]
},
2. npm如何安装两个不同版本的依赖包?
在package.json中的配置方法如下
json
"dependencies": {
"antd": "3.25.0",
"antdV4": "npm:antd@4",
}
1.系统重装后,如何修改默认的用户名和密码?
- 搜索运行
- 输入netplwiz回车
- 打开用户账户,双击您想修改用户名的账户(如:Administrator)