Rumah >hujung hadapan web >tutorial js >Mari kita bincangkan tentang modul fs dan modul laluan dalam nod

Mari kita bincangkan tentang modul fs dan modul laluan dalam nod

青灯夜游
青灯夜游ke hadapan
2022-04-24 21:00:452420semak imbas

Artikel ini akan membawa anda melalui modul sistem fail fs dan modul laluan dalam nod saya harap ia akan membantu anda!

Mari kita bincangkan tentang modul fs dan modul laluan dalam nod

modul sistem fail fs

modul fs disediakan secara rasmi oleh Node.js dan digunakan untuk modul Fail operasi. Ia menyediakan satu siri kaedah dan sifat untuk memenuhi keperluan operasi fail pengguna.

  • kaedah fs.readFile(), digunakan untuk membaca kandungan fail yang ditentukan
  • kaedah fs.writeFile(), digunakan untuk menulis kandungan pada fail yang ditentukan mahu Dalam kod JavaScript, jika anda menggunakan modul fs untuk mengendalikan fail, anda perlu mengimportnya dahulu seperti berikut:
 const fs = reuire('fs')

Baca kandungan fail yang ditentukan

1 Format sintaks fs.readFile()

Menggunakan kaedah fs.readFile(), anda boleh membaca kandungan dalam fail yang ditentukan, format sintaks Seperti berikut:

 fs.readFile(path[, options], callback)
  • Parameter 1: Parameter yang diperlukan, anda perlu menentukan rentetan laluan fail, menunjukkan laluan yang sepadan dengan fail yang hendak dibaca.
  • Parameter 2: Parameter pilihan, menunjukkan format pengekodan untuk membaca fail.
  • Parameter 3: Parameter yang diperlukan Selepas bacaan fail selesai, hasil bacaan diperoleh melalui fungsi panggil balik.

2. Contoh kod fs.readFile()

Baca kandungan fail yang dinyatakan dalam format utf8 dan cetak nilai err dan data :

 const fs = require('fs');
 fs.readFile('hello.txt', 'utf-8', (err, data) => {
     // 判断是否读取成功
     if (err) return console.log(err);
     console.log(data); 
 });

Tulis kandungan ke fail yang ditentukan

Format sintaks fs.writeFile()

Gunakan kaedah fs.writeFile() untuk menulis kandungan ke fail yang ditentukan Format sintaks adalah seperti berikut:

 fs.writeFile(file, data[, options], callback)
  • Parameter 1: parameter yang diperlukan, diperlukan. Rentetan yang menentukan laluan fail, menunjukkan laluan penyimpanan fail.
  • Parameter 2: Parameter yang diperlukan, menunjukkan kandungan yang akan ditulis.
  • Parameter 3: Parameter pilihan, menunjukkan format untuk menulis kandungan fail Nilai lalai ialah utf8.
  • Parameter 4: Parameter yang diperlukan, fungsi panggil balik selepas penulisan fail selesai.

2. Contoh kod untuk fs.writeFile()

 const fs = require('fs');
 fs.writeFile('./hello.txt', 'hello node', (err) => {
     // 判断是否写入成功
     if (err) return console.log(err);
     console.log('写入成功');
 });

Baca nama semua fail dalam direktori yang ditentukan

1 Format sintaks fs.readdir()

Menggunakan kaedah fs.readdir(), anda boleh membaca semua fail dalam nama direktori yang ditentukan, format sintaks adalah seperti berikut:

 fs.readdir(path[, options], callback)
  • Parameter 1: Parameter yang diperlukan, menunjukkan direktori mana untuk membaca senarai nama fail.
  • Parameter 2: Parameter pilihan, dalam format apa untuk membaca nama fail dalam direktori, nilai lalai ialah utf8.
  • Parameter 3: Parameter yang diperlukan, fungsi panggil balik selepas bacaan selesai.

2. Contoh kod fs.readdir()

Melalui kaedah fs.readdir(), anda boleh membaca nama semua fail dalam direktori yang ditentukan :

 const fs = require('fs');
 fs.readdir('./', (err, data) => {
     // 错误处理
     if (err) return console.log(err);
     console.log(data);
 });

masalah penyambungan dinamik laluan modul fs

Apabila menggunakan modul fs untuk mengendalikan fail, jika operasi yang disediakan laluan ialah Apabila laluan relatif bermula dengan ./ atau ../, ralat penyambungan dinamik laluan mudah berlaku. Ini kerana apabila kod berjalan, laluan penuh fail yang dikendalikan akan disambung secara dinamik dari direktori tempat perintah nod dilaksanakan.

Penyelesaian: Apabila menggunakan modul fs untuk mengendalikan fail, sediakan laluan mutlak secara langsung dan bukannya laluan relatif bermula dengan ./ atau ../ untuk mengelakkan masalah penyambungan laluan dinamik.

Nota: Gunakan __dirname untuk mendapatkan laluan mutlak fail semasa

 const fs = require('fs');
 // 拼接要读取文件的绝对路径
 let filepath = __dirname +'/hello.txt'
 fs.readFile(filepath, 'utf-8', (err, data) => {
     // 判断是否读取成功
     if (err) return console.log(err);
     console.log(data); 
 });

modul laluan

modul laluan disediakan secara rasmi oleh Node. js , modul yang digunakan untuk memproses laluan. Ia menyediakan satu siri kaedah dan atribut untuk memenuhi keperluan pengguna untuk pemprosesan laluan.

  • kaedah path.join(), digunakan untuk menyambung berbilang serpihan laluan menjadi rentetan laluan lengkap
  • kaedah path.basename(), digunakan untuk menukar rentetan laluan daripada , menghuraikan fail namakan

Jika anda ingin menggunakan modul laluan untuk memproses laluan dalam kod JavaScript, anda perlu mengimportnya dahulu seperti berikut:

 const path = require('path')

Penyambungan laluan

Format sintaks path.join()

Menggunakan kaedah path.join(), anda boleh menggabungkan berbilang serpihan Laluan disambungkan ke dalam rentetan laluan lengkap Format sintaks adalah seperti berikut:

 path.join([...paths])

Gunakan kaedah path.join() untuk menyambung berbilang serpihan laluan ke dalam rentetan laluan lengkap:

 const path = require('path');
 console.log( path.join('a', 'b', 'c') ); // a/b/c
 console.log( path.join('a', '/b/', 'c') ); // a/b/c
 console.log( path.join('a', '/b/', 'c', 'index.html') ); // a/b/c/index.html
 console.log( path.join('a', 'b', '../c', 'index.html') ); // a/c/index.html
 console.log(__dirname); // node自带的全局变量,表示当前js文件所在的绝对路径
 // 拼接成绩.txt的绝对路径
 console.log( path.join(__dirname, '成绩.txt') ); // ------ 最常用的

Dapatkan nama fail dalam laluan

1 Format sintaks path.basename()

Gunakan kaedah path.basename() untuk mendapatkan bahagian terakhir laluan Kaedah ini sering digunakan untuk mendapatkan nama fail dalam laluan Format sintaks adalah seperti berikut:

 path.basename(path[,ext])
  • path  必选参数,表示一个路径的字符串
  • ext  可选参数,表示可选的文件扩展名
  • 返回:  表示路径中的最后一部分

2.path.basename()的代码示例

使用 path.basename() 方法,可以从一个文件路径中,获取到文件的名称部分:

 // 找文件名
 console.log( path.basename('index.html') ); // index.html
 console.log( path.basename('a/b/c/index.html') ); // index.html
 console.log( path.basename('a/b/c/index.html?id=3') ); // index.html?id=3
 console.log(path.basename('/api/getbooks')) // getbooks

获取路径中的文件扩展名

1.path.extname()的语法格式

使用 path.extname() 方法,可以获取路径中的扩展名部分,语法格式如下:

 path.extname(path)
  • path 必选参数,表示一个路径的字符串
  • 返回:  返回得到的扩展名字符串

使用 path.extname() 方法,可以获取路径中的扩展名部分

 // 找字符串中,最后一个点及之后的字符
 console.log( path.extname('index.html') ); // .html
 console.log( path.extname('a.b.c.d.html') ); // .html
 console.log( path.extname('asdfas/asdfa/a.b.c.d.html') ); // .html
 console.log( path.extname('adf.adsf') ); // .adsf

原文地址:https://juejin.cn/post/7088650568150810638

作者:L同学啦啦啦

更多node相关知识,请访问:nodejs 教程

Atas ialah kandungan terperinci Mari kita bincangkan tentang modul fs dan modul laluan dalam nod. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Artikel ini dikembalikan pada:juejin.cn. Jika ada pelanggaran, sila hubungi admin@php.cn Padam