浏览代码

Node.js day2:path&url

daxia 2 年之前
父节点
当前提交
32ff8ed026
共有 3 个文件被更改,包括 54 次插入2 次删除
  1. 12 2
      19_Node.js/day-2/code/index.js
  2. 25 0
      19_Node.js/day-2/code/learn:path.mjs
  3. 17 0
      19_Node.js/day-2/code/learn:url.mjs

+ 12 - 2
19_Node.js/day-2/code/index.js

@@ -5,5 +5,15 @@
 // import { appendFileAsync } from './learn:fs.mjs';
 // appendFileAsync('\n不知道写点啥了');
 
-import { readFileAsync } from './learn:fs.mjs';
-readFileAsync();
+// import { readFileAsync } from './learn:fs.mjs';
+// readFileAsync();
+
+// import { testJoin, testResolve, otherMethods } from './learn:path.mjs';
+
+// testJoin(); // /foo/bar/baz/asdf
+// testResolve();
+
+// otherMethods();
+
+import { run } from './learn:url.mjs';
+run();

+ 25 - 0
19_Node.js/day-2/code/learn:path.mjs

@@ -0,0 +1,25 @@
+import { resolve, join, extname, basename, dirname } from 'node:path';
+
+export function testJoin() {
+  console.log(join('/foo', 'bar', 'baz/asdf', 'quux', '..'));
+}
+
+export function testResolve() {
+  console.log(resolve('/foo/bar', './baz'));
+  console.log(resolve('/foo/bar', '/tmp/file/'));
+  console.log(resolve('wwwroot', 'static_files/png/', '../gif/image.gif'));
+  // /users/daxia/documents/work/vip20/19_Node.js/day2/code/wwwroot/statci_files/git/image.gif
+  // /Users/daxia/Documents/work/vip20/19_Node.js/day-2/code/wwwroot/static_files/gif/image.gif
+}
+
+// 其他
+export function otherMethods() {
+  const filePath = './a/b/c/d.md';
+
+  // 获取文件的扩展名
+  console.log('后缀名:', extname(filePath));
+  // 获取文件的完整名称(包含 后缀名)
+  console.log('文件名:', basename(filePath));
+  // 文件的目录层级
+  console.log('文件的目录层级:', dirname(filePath));
+}

+ 17 - 0
19_Node.js/day-2/code/learn:url.mjs

@@ -0,0 +1,17 @@
+import { URL } from 'node:url';
+
+export function run() {
+  var mUrl = 'http://douniwanyiwan.com/a/b/c/d.html?id=1&r=2#hash';
+  var oUrl = new URL(mUrl);
+
+  console.log(oUrl);
+
+  // 获取查询参数
+  console.log('r = ', oUrl.searchParams.get('r'));
+  console.log('id = ', oUrl.searchParams.get('id'));
+  // 通过对象 方式 更容易在原有的查询参数上追加新的参数
+  oUrl.searchParams.append('k', 'cellphone');
+
+  console.log(oUrl);
+  console.log(oUrl.href);
+}