// set 1rem = viewWidth / 10\nfunctionsetRemUnit(){\n var docEl = document.documentElement;\n var rem = docEl.clientWidth /10;\n docEl.style.fontSize = rem +\"px\";\n}\n\nwindow.addEventListener(\"resize\", setRemUnit);\nwindow.addEventListener(\"pageShow\",function(e){\n if(e.persisted)setRemUnit()\n});
// set 1rem = viewWidth / 10\nfunctionsetRemUnit(){\n var docEl = document.documentElement;\n var rem = docEl.clientWidth /10;\n docEl.style.fontSize = rem +\"px\";\n}\n\nwindow.addEventListener(\"resize\", setRemUnit);\nwindow.addEventListener(\"pageShow\",function(e){\n if(e.persisted)setRemUnit()\n});
# =>Appending nvm source string to /home/mozzie/.zshrc\n# => Appending bash_completion source string to /home/mozzie/.zshrc\n# => Close and reopen your terminal to start using nvm or run the following to use it now:
\n
照它说的做
\n
exportNVM_DIR=\"$HOME/.nvm\"\n[-s\"$NVM_DIR/nvm.sh\"]&&\\. \"$NVM_DIR/nvm.sh\"# This loads nvm\n[-s\"$NVM_DIR/bash_completion\"]&&\\. \"$NVM_DIR/bash_completion\"# This loads nvm bash_completion
When using a WSL 1 distribution, if your computer was set up to be accessed by your LAN, then applications run in WSL could be accessed on your LAN as well.
\n
This isn’t the default case in WSL 2. WSL 2 has a virtualized ethernet adapter with its own unique IP address. Currently, to enable this workflow you will need to go through the same steps as you would for a regular virtual machine. (We are looking into ways to improve this experience.)
\n
Here’s an example PowerShell command to add a port proxy that listens on port 4000 on the host and connects it to port 4000 to the WSL 2 VM with IP address 192.168.101.100
# =>Appending nvm source string to /home/mozzie/.zshrc\n# => Appending bash_completion source string to /home/mozzie/.zshrc\n# => Close and reopen your terminal to start using nvm or run the following to use it now:
\n
照它说的做
\n
exportNVM_DIR=\"$HOME/.nvm\"\n[-s\"$NVM_DIR/nvm.sh\"]&&\\. \"$NVM_DIR/nvm.sh\"# This loads nvm\n[-s\"$NVM_DIR/bash_completion\"]&&\\. \"$NVM_DIR/bash_completion\"# This loads nvm bash_completion
When using a WSL 1 distribution, if your computer was set up to be accessed by your LAN, then applications run in WSL could be accessed on your LAN as well.
\n
This isn’t the default case in WSL 2. WSL 2 has a virtualized ethernet adapter with its own unique IP address. Currently, to enable this workflow you will need to go through the same steps as you would for a regular virtual machine. (We are looking into ways to improve this experience.)
\n
Here’s an example PowerShell command to add a port proxy that listens on port 4000 on the host and connects it to port 4000 to the WSL 2 VM with IP address 192.168.101.100
constgetRandomRangeNum=(len =32)=>{\n // 略去不宜辨识字符\n let dictionary =\"ABCDEFGHJKMNPQRSTWXYZabcdefhijkmnprstwxyz\";\n let maxPos = dictionary.length;\n let res =\"\";\n for(let i =0; i < len; i++){\n res += dictionary.charAt(Math.floor(Math.random()* maxPos));\n }\n return res;\n};
// 每次都要计算array.length\nfor(let i =0; i < array.length; i++){\n console.log(i);\n}\n\n// 使用leng缓存array长度\nfor(let i =0, length = array.length; i < length; i++){\n console.log(i);\n}
\n\n
数组
扁平化去重升序排列
let arr =[[1,2,2],[3,4,5,5],[6,7,8,9,[11,12,[12,13,[14]]]],10];\narr.flat(Infinity);// [1, 2, 2, 3, 4, 5, 5, 6, 7, 8, 9, 11, 12, 12, 13, 14, 10]\n\nlet result = Array.from(newSet(arr.flat(Infinity)).sort((a, b)=> a - b));
👎\nfunctionaddToDate(date, month){\n // ...\n}\nconst date =newDate();\n// It's hard to tell from the function name what is added\naddToDate(date,1);\n\n👍\nfunctionaddMonthToDate(month, date){\n // ...\n}\nconst date =newDate();\naddMonthToDate(1, date);
let obj ={};\n\nObject.defineProperty(obj,\"a\",{\n get(){\n return7;\n },\n set(val){\n console.log(`FAILED!改变 a 属性,新值为:${val},但是被重写 set 劫持了`);\n },\n});\n\nconsole.log(obj.a);\nobj.a =4;
constgetRandomRangeNum=(len =32)=>{\n // 略去不宜辨识字符\n let dictionary =\"ABCDEFGHJKMNPQRSTWXYZabcdefhijkmnprstwxyz\";\n let maxPos = dictionary.length;\n let res =\"\";\n for(let i =0; i < len; i++){\n res += dictionary.charAt(Math.floor(Math.random()* maxPos));\n }\n return res;\n};
// 每次都要计算array.length\nfor(let i =0; i < array.length; i++){\n console.log(i);\n}\n\n// 使用leng缓存array长度\nfor(let i =0, length = array.length; i < length; i++){\n console.log(i);\n}
\n\n
数组
扁平化去重升序排列
let arr =[[1,2,2],[3,4,5,5],[6,7,8,9,[11,12,[12,13,[14]]]],10];\narr.flat(Infinity);// [1, 2, 2, 3, 4, 5, 5, 6, 7, 8, 9, 11, 12, 12, 13, 14, 10]\n\nlet result = Array.from(newSet(arr.flat(Infinity)).sort((a, b)=> a - b));
👎\nfunctionaddToDate(date, month){\n // ...\n}\nconst date =newDate();\n// It's hard to tell from the function name what is added\naddToDate(date,1);\n\n👍\nfunctionaddMonthToDate(month, date){\n // ...\n}\nconst date =newDate();\naddMonthToDate(1, date);
let obj ={};\n\nObject.defineProperty(obj,\"a\",{\n get(){\n return7;\n },\n set(val){\n console.log(`FAILED!改变 a 属性,新值为:${val},但是被重写 set 劫持了`);\n },\n});\n\nconsole.log(obj.a);\nobj.a =4;
// set 1rem = viewWidth / 10\nfunctionsetRemUnit(){\n var docEl = document.documentElement;\n var rem = docEl.clientWidth /10;\n docEl.style.fontSize = rem +\"px\";\n}\n\nwindow.addEventListener(\"resize\", setRemUnit);\nwindow.addEventListener(\"pageShow\",function(e){\n if(e.persisted)setRemUnit()\n});
// set 1rem = viewWidth / 10\nfunctionsetRemUnit(){\n var docEl = document.documentElement;\n var rem = docEl.clientWidth /10;\n docEl.style.fontSize = rem +\"px\";\n}\n\nwindow.addEventListener(\"resize\", setRemUnit);\nwindow.addEventListener(\"pageShow\",function(e){\n if(e.persisted)setRemUnit()\n});
# =>Appending nvm source string to /home/mozzie/.zshrc\n# => Appending bash_completion source string to /home/mozzie/.zshrc\n# => Close and reopen your terminal to start using nvm or run the following to use it now:
\n
照它说的做
\n
exportNVM_DIR=\"$HOME/.nvm\"\n[-s\"$NVM_DIR/nvm.sh\"]&&\\. \"$NVM_DIR/nvm.sh\"# This loads nvm\n[-s\"$NVM_DIR/bash_completion\"]&&\\. \"$NVM_DIR/bash_completion\"# This loads nvm bash_completion
When using a WSL 1 distribution, if your computer was set up to be accessed by your LAN, then applications run in WSL could be accessed on your LAN as well.
\n
This isn’t the default case in WSL 2. WSL 2 has a virtualized ethernet adapter with its own unique IP address. Currently, to enable this workflow you will need to go through the same steps as you would for a regular virtual machine. (We are looking into ways to improve this experience.)
\n
Here’s an example PowerShell command to add a port proxy that listens on port 4000 on the host and connects it to port 4000 to the WSL 2 VM with IP address 192.168.101.100
# =>Appending nvm source string to /home/mozzie/.zshrc\n# => Appending bash_completion source string to /home/mozzie/.zshrc\n# => Close and reopen your terminal to start using nvm or run the following to use it now:
\n
照它说的做
\n
exportNVM_DIR=\"$HOME/.nvm\"\n[-s\"$NVM_DIR/nvm.sh\"]&&\\. \"$NVM_DIR/nvm.sh\"# This loads nvm\n[-s\"$NVM_DIR/bash_completion\"]&&\\. \"$NVM_DIR/bash_completion\"# This loads nvm bash_completion
When using a WSL 1 distribution, if your computer was set up to be accessed by your LAN, then applications run in WSL could be accessed on your LAN as well.
\n
This isn’t the default case in WSL 2. WSL 2 has a virtualized ethernet adapter with its own unique IP address. Currently, to enable this workflow you will need to go through the same steps as you would for a regular virtual machine. (We are looking into ways to improve this experience.)
\n
Here’s an example PowerShell command to add a port proxy that listens on port 4000 on the host and connects it to port 4000 to the WSL 2 VM with IP address 192.168.101.100
constgetRandomRangeNum=(len =32)=>{\n // 略去不宜辨识字符\n let dictionary =\"ABCDEFGHJKMNPQRSTWXYZabcdefhijkmnprstwxyz\";\n let maxPos = dictionary.length;\n let res =\"\";\n for(let i =0; i < len; i++){\n res += dictionary.charAt(Math.floor(Math.random()* maxPos));\n }\n return res;\n};
// 每次都要计算array.length\nfor(let i =0; i < array.length; i++){\n console.log(i);\n}\n\n// 使用leng缓存array长度\nfor(let i =0, length = array.length; i < length; i++){\n console.log(i);\n}
\n\n
数组
扁平化去重升序排列
let arr =[[1,2,2],[3,4,5,5],[6,7,8,9,[11,12,[12,13,[14]]]],10];\narr.flat(Infinity);// [1, 2, 2, 3, 4, 5, 5, 6, 7, 8, 9, 11, 12, 12, 13, 14, 10]\n\nlet result = Array.from(newSet(arr.flat(Infinity)).sort((a, b)=> a - b));
👎\nfunctionaddToDate(date, month){\n // ...\n}\nconst date =newDate();\n// It's hard to tell from the function name what is added\naddToDate(date,1);\n\n👍\nfunctionaddMonthToDate(month, date){\n // ...\n}\nconst date =newDate();\naddMonthToDate(1, date);
let obj ={};\n\nObject.defineProperty(obj,\"a\",{\n get(){\n return7;\n },\n set(val){\n console.log(`FAILED!改变 a 属性,新值为:${val},但是被重写 set 劫持了`);\n },\n});\n\nconsole.log(obj.a);\nobj.a =4;
constgetRandomRangeNum=(len =32)=>{\n // 略去不宜辨识字符\n let dictionary =\"ABCDEFGHJKMNPQRSTWXYZabcdefhijkmnprstwxyz\";\n let maxPos = dictionary.length;\n let res =\"\";\n for(let i =0; i < len; i++){\n res += dictionary.charAt(Math.floor(Math.random()* maxPos));\n }\n return res;\n};
// 每次都要计算array.length\nfor(let i =0; i < array.length; i++){\n console.log(i);\n}\n\n// 使用leng缓存array长度\nfor(let i =0, length = array.length; i < length; i++){\n console.log(i);\n}
\n\n
数组
扁平化去重升序排列
let arr =[[1,2,2],[3,4,5,5],[6,7,8,9,[11,12,[12,13,[14]]]],10];\narr.flat(Infinity);// [1, 2, 2, 3, 4, 5, 5, 6, 7, 8, 9, 11, 12, 12, 13, 14, 10]\n\nlet result = Array.from(newSet(arr.flat(Infinity)).sort((a, b)=> a - b));
👎\nfunctionaddToDate(date, month){\n // ...\n}\nconst date =newDate();\n// It's hard to tell from the function name what is added\naddToDate(date,1);\n\n👍\nfunctionaddMonthToDate(month, date){\n // ...\n}\nconst date =newDate();\naddMonthToDate(1, date);
let obj ={};\n\nObject.defineProperty(obj,\"a\",{\n get(){\n return7;\n },\n set(val){\n console.log(`FAILED!改变 a 属性,新值为:${val},但是被重写 set 劫持了`);\n },\n});\n\nconsole.log(obj.a);\nobj.a =4;
\n"}],"PostAsset":[],"PostCategory":[{"post_id":"clpcdqm3d0001cvz38xl06f78","category_id":"clpcdqm3g0004cvz31gn2buk9","_id":"clpcdqm3j000bcvz38nt7hsfi"},{"post_id":"clpcdqm3f0003cvz32icddn8l","category_id":"clpcdqm3i0008cvz32zqzbizw","_id":"clpcdqm3k000gcvz3biqb0yy1"},{"post_id":"clpcdqm3h0005cvz3110686ge","category_id":"clpcdqm3i0008cvz32zqzbizw","_id":"clpcdqm3l000jcvz3cxw172vw"},{"post_id":"clpcdqm3k000hcvz34o3bhm57","category_id":"clpcdqm3k000fcvz3bei0cqfe","_id":"clpcdqm3m000ncvz33qrl2038"},{"post_id":"clpcdqm3h0006cvz38wx14vn7","category_id":"clpcdqm3k000fcvz3bei0cqfe","_id":"clpcdqm3m000qcvz30sln60vg"},{"post_id":"clpcdqm3l000icvz348kr6u1r","category_id":"clpcdqm3k000fcvz3bei0cqfe","_id":"clpcdqm3n000scvz35wx1axer"},{"post_id":"clpcdqm3h0007cvz3289m71c7","category_id":"clpcdqm3k000fcvz3bei0cqfe","_id":"clpcdqm3n000vcvz379rw3lgy"},{"post_id":"clpcdqm3i0009cvz31lk95p53","category_id":"clpcdqm3k000fcvz3bei0cqfe","_id":"clpcdqm3n000ycvz39vmsci3j"},{"post_id":"clpcdqm3n000ucvz314rl2l76","category_id":"clpcdqm3g0004cvz31gn2buk9","_id":"clpcdqm3o0011cvz33aedckz5"},{"post_id":"clpcdqm3i000acvz39nba3ic0","category_id":"clpcdqm3k000fcvz3bei0cqfe","_id":"clpcdqm3o0014cvz3cd7k3n70"},{"post_id":"clpcdqm3n000wcvz3blkq44t0","category_id":"clpcdqm3g0004cvz31gn2buk9","_id":"clpcdqm3o0015cvz31g4weunv"},{"post_id":"clpcdqm3n000zcvz35xi260dk","category_id":"clpcdqm3g0004cvz31gn2buk9","_id":"clpcdqm3o0017cvz3gg0ibgcq"},{"post_id":"clpcdqm3j000dcvz35vw0ev9l","category_id":"clpcdqm3k000fcvz3bei0cqfe","_id":"clpcdqm3o0018cvz313he9k27"},{"post_id":"clpcdqm3o0010cvz3hmo9dcin","category_id":"clpcdqm3g0004cvz31gn2buk9","_id":"clpcdqm3o001acvz34uuafuoc"},{"post_id":"clpcdqm3o0013cvz3hyaea428","category_id":"clpcdqm3g0004cvz31gn2buk9","_id":"clpcdqm3p001bcvz3bawe1p0c"},{"post_id":"clpcdqm3k000ecvz32q0p13ni","category_id":"clpcdqm3k000fcvz3bei0cqfe","_id":"clpcdqm3p001ccvz326w2bvgm"},{"post_id":"clpcdqm3l000lcvz38d6r5nsy","category_id":"clpcdqm3o0016cvz31lry6s8r","_id":"clpcdqm3p001ecvz37rupd6xk"},{"post_id":"clpcdqm3m000mcvz3ffqs4wfl","category_id":"clpcdqm3o0019cvz37un2ghlw","_id":"clpcdqm3p001fcvz390pwby0w"},{"post_id":"clpcdqm3m000pcvz3arvo9odi","category_id":"clpcdqm3p001dcvz3gomn02jr","_id":"clpcdqm3p001hcvz332dgcbtj"},{"post_id":"clpcdqm3m000rcvz3132fglyv","category_id":"clpcdqm3p001dcvz3gomn02jr","_id":"clpcdqm3p001icvz32a39c4pe"},{"post_id":"clpcdqm3p001jcvz3e6l7gt4u","category_id":"clpcdqm3g0004cvz31gn2buk9","_id":"clpcdqm3q001lcvz3eqmc0bx0"},{"post_id":"clpcdqm3p001kcvz37k8kbs8a","category_id":"clpcdqm3o0019cvz37un2ghlw","_id":"clpcdqm3q001mcvz3bacscasg"}],"PostTag":[],"Tag":[]}}
\ No newline at end of file
diff --git a/public/2023/11/17/clpaes93g000lzdva9f3vgftt/index.html b/public/2023/10/20/clpcdqm3k000ecvz32q0p13ni/index.html
similarity index 99%
rename from public/2023/11/17/clpaes93g000lzdva9f3vgftt/index.html
rename to public/2023/10/20/clpcdqm3k000ecvz32q0p13ni/index.html
index 6fe38d93..aaf1ee83 100644
--- a/public/2023/11/17/clpaes93g000lzdva9f3vgftt/index.html
+++ b/public/2023/10/20/clpcdqm3k000ecvz32q0p13ni/index.html
@@ -10,7 +10,7 @@
-
+
@@ -247,7 +247,7 @@
verdaccio 搭建 npm私库
-
更新: 2023-11-17 16:12:08
+
更新: 2023-11-06 16:02:39
使用 docker 搭建 verdaccio
创建 & 配置config.yaml文件
# Read about the best practices# https://verdaccio.org/docs/best
@@ -410,7 +410,7 @@