- os模块
const os = require("os");
console.log(os.EOL);
console.log(os.arch());
console.log(os.cpus().length);
console.log(os.freemem());
console.log(os.homedir());
console.log(os.hostname());
console.log(os.tmpdir());
- path模块
const path = require("path");
const basename = path.basename("fdg/dfgdfg/adfaf/fdgdfgd/a.html", ".html");
console.log(basename);
const basename2 = path.basename("fdg/dfgdfg/adfaf/fdgdfgd/a.html");
console.log(basename2);
console.log(path.sep);
console.log(process.env.PATH.split(path.delimiter));
const dir = path.dirname("a/b/c/d");
console.log(dir);
const ext1 = path.extname("a/b/c/a.js");
let ext2 = path.extname("index.html");
let ext3 = path.extname("../abc/bcd/index.html?id=123");
let ext4 = path.extname("../abc/bcd/aa.bb.cc.html");
let ext5 = path.extname("../abc/bcd/aa");
console.log(ext1);
console.log(ext2);
console.log(ext3);
console.log(ext4);
console.log(ext5, ext5 === "");
console.log(path.join("/foo", "bar", "baz/asdf", "quux", ".."));
const basePath = "a/b";
const fullpath = path.join(basePath, "../", "d.js");
console.log(fullpath);
const rel = path.relative("/data/orandea/test/aaa", "/data/orandea/impl/bbb");
console.log(rel);
const absPath = path.resolve(__dirname, "./a.js");
console.log(absPath);
console.log(path.resolve("/foo/bar", "./baz"));
console.log(path.resolve("/foo/bar", "/tmp/file/"));
console.log(path.resolve("wwwroot", "static_files/png/", "../gif/image.gif"));
console.log("=====================================");
console.log(path.resolve());
console.log(path.resolve(""));
console.log(path.resolve("."));
console.log(path.resolve(__dirname));
console.log(path.resolve("js/common", "test"));
console.log(path.resolve("./js/common", "test"));
console.log(path.resolve("js/common", "./test"));
console.log(path.resolve("./js/common", "./test"));
console.log(path.resolve("/js/common", "test"));
console.log(path.resolve("js/common", "/test"));
console.log(path.resolve("/js/common", "/test"));
console.log(path.resolve("/js/common", "../test"));
console.log(path.resolve("js/common", "../test"));
``
3. url
```js
const url = new URL("https://nodejs.org:80/a/b/c?t=3&u=5#abc");
console.log(url);
console.log(url.searchParams.has("a")); // false
console.log(url.searchParams.has("t")); // true
console.log(url.searchParams.get("t")); // 3
- util
const util = require("util");
async function delay(duration = 1000) {
return new Promise((resolve) => {
setTimeout(() => {
resolve(duration);
}, duration);
});
}
const delayCallback = util.callbackify(delay);
delayCallback(1000, (err, d) => {
console.log(d);
});
function delayCallBack(duration, callback) {
setTimeout(() => {
callback(null, duration);
}, duration);
}
const delay = util.promisify(delayCallBack);
(async () => {
const r = await delay(500);
console.log(r);
})();
const obj1 = {
a: 1,
b: {
c: 3,
d: {
e: 5,
},
},
};
const obj2 = {
a: 1,
b: {
c: 3,
d: {
e: 5,
},
},
};
console.log(util.isDeepStrictEqual(obj1, obj2));