解决nrm报错const open = require(‘open’)

$ nrm ls

C:\Users\Administrator\AppData\Roaming\npm\node_modules\nrm\cli.js:9

const open = require('open');

             ^

Error [ERR_REQUIRE_ESM]: require() of ES Module C:\Users\Administrator\AppData\Roaming\npm\node_modules\nrm\node_modules\open\index.js from C:\Users\Administrator\AppData\Roaming\npm\node_modules\nrm\cli.js not supported.

html js抽奖小程序

<!DOCTYPE html>
<html>
<body>
<button onclick="myFunction()">点击抽奖</button>
<p id="demo"></p>
<script>
var targets = new Set([1,2,3,5,6,33,32,33,22])
function myFunction() {
var targetsAsList = Array.from(targets);
console.log("目标用户: " + targetsAsList);
var randomIndex = Math.floor((Math.random() * targetsAsList.length))
document.getElementById("demo").innerHTML = "中奖号码为 " + targetsAsList[randomIndex];
}
</script>
</body>
</html>

js纯前端下载网页内容提取后的csv

results = []
$(".site-main .site-list .list").each(function(){
if($(this).attr("data-url") && $(this).find("a").attr("title")){
results.push($(this).attr("data-url") + ',"' + $(this).find("a").attr("title")+'"');
}
})
var uri = 'data:text/csv;charset=utf-8,%EF%BB%BF' + encodeURIComponent(results.join("\n"));
var downloadLink = document.createElement("a");
downloadLink.href = uri;
downloadLink.download = "bookmark.csv";
document.body.appendChild(downloadLink);
downloadLink.click();
document.body.removeChild(downloadLink);

umi react代码高亮js插件highlight的使用

先安装一下依赖:

npm install –save highlight.js

源码附上:

import hljs from 'highlight.js'
import 'highlight.js/styles/vs2015.css'
import { useEffect } from 'react'
export default function IndexPage() {
  useEffect(() => {
    hljs.configure({
      ignoreUnescapedHTML: true
    })
    const codes = document.querySelectorAll('.dg-html pre code')
    codes.forEach((el) => {
      hljs.highlightElement(el as HTMLElement)
    })
  }, [])
  const content = `<pre><code>console.log(abc);\n\n
console.log(abc);</code></pre>`
 
  return (
    <div className="dg-html">
      Question
      <div dangerouslySetInnerHTML={{ __html: content }} />
    </div>
  )
}

js实现把CIDR表示法转换为IP起止和子网掩码和IP数量

能用别人的库,就不自己写,有时候是自己水平太次容易坑,有时候是为了提高效率。

<script src="./ip-subnet-calculator.js"></script>
<script>
function translateCIDR(cidr){
var cidr_split = cidr.split("/");
var ip = cidr_split[0];
var prefix = cidr_split[1];
if(!IpSubnetCalculator.isIp(ip)){
return;
}
if(prefix<0 || prefix>32){
return;
}
var result = IpSubnetCalculator.calculateSubnetMask(ip, prefix);
console.log(result);
console.log("start: " + result.ipLowStr);
console.log("end: " + result.ipHighStr);
console.log("num ips: " + Math.pow(2,result.invertedSize));
console.log("subnet mask: " + result.prefixMaskStr);
};
translateCIDR("192.168.1.1/16");
</script>