Rumah >hujung hadapan web >tutorial js >Mari kita bincangkan tentang modul fs dan modul laluan dalam nod
Artikel ini akan membawa anda melalui modul sistem fail fs dan modul laluan dalam nod saya harap ia akan membantu anda!
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.
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)
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)
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)
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 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.
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])
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.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!