Rumah >hujung hadapan web >tutorial js >Analisis ringkas modul laluan laluan nod

Analisis ringkas modul laluan laluan nod

青灯夜游
青灯夜游ke hadapan
2023-02-17 14:35:302500semak imbas

Modul laluan ialah modul terbina dalam dalam nodej untuk memproses laluan fail/direktori Ia boleh dianggap sebagai kotak alat, menyediakan banyak kaedah untuk kita gunakan, sudah tentu semuanya berkaitan dengan pemprosesan laluan. Pada masa yang sama, modul laluan kerap muncul dalam pembangunan bahagian hadapan, seperti semasa mengkonfigurasi pek web. Artikel ini akan bercakap tentang modul laluan nod.

Analisis ringkas modul laluan laluan nod

modul laluan nod

Kata Pengantar: Melalui artikel ini anda akan memahami nod Sesetengah API daripada modul terbina dalam laluan
boleh dilihat di laman web rasmi nod jika perlu. Sudah tentu amalan lebih besar daripada teori
jadi saya menyediakan kes untuk latihan

1 Pengenalan pertama kepada modul laluan

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

2.path module API

2.1 path.join()

kaedah path.join(), digunakan untuk menyambung berbilang serpihan laluan ke dalam rentetan laluan lengkap

Format sintaks ialah
Analisis ringkas modul laluan laluan nod

…paths(string) Urutan serpihan laluan ialah semua siri laluan yang anda perlukan untuk sambung. [Tutorial berkaitan yang disyorkan: tutorial video nodejs, Pengajaran pengaturcaraan]

Perlu diambil perhatian bahawa nilai yang dikembalikan ialah rentetan

//引入path模块
const path=require("path")
//书写要拼接的路径
const pathStr=path.join('/a','/b/c','../','./d','e')

console.log(pathStr)

Analisis ringkas modul laluan laluan nod

2.2 path.basename()

Guna path.basename() Kaedah, anda boleh mendapatkan bahagian terakhir laluan, selalunya gunakan kaedah ini untuk mendapatkan nama fail dalam laluan

Format sintaks


Analisis ringkas modul laluan laluan nod

    laluan Parameter yang diperlukan, rentetan yang mewakili laluan
  • Parameter pilihan, mewakili sambungan fail
  • Mewakili bahagian terakhir laluan
const path=require("path")

const  fpath='./a/b/c/index.html'

var fullname=path.basename(fpath)

console.log(fullname)
//获取指定后缀的文件名
const namepath=path.basename(fpath,'.html')

console.log(namepath)

Analisis ringkas modul laluan laluan nod

2.3 path.extname()

path.extname() digunakan untuk mendapatkan sambungan fail dalam laluan Nama

adalah dalam format
Analisis ringkas modul laluan laluan nod

  • laluan ialah parameter yang diperlukan, rentetan yang mewakili laluan

  • Kembali: Kembalikan rentetan sambungan yang diperoleh

const path=require("path")

const fpath='./a/b/c/d/index.html'

const ftext =path.extname(fpath)

console.log(ftext)

Analisis ringkas modul laluan laluan nod

3. Latihan kes jam

Pisah kod yang disediakan (satu fail mempunyai html, css, js pada masa yang sama)

Bahagikan kepada tiga fail yang dipanggil html index.css index.js dan simpan dalam fail yang disediakan

Kod sumber Klik kanan untuk melihat kod sumber

3.1 Langkah pelaksanaan

1 Cipta dua ungkapan biasa untuk memadankan tag

dan <style></style> masing-masing <script></script> 2. Gunakan. modul fs untuk membaca fail HTML yang perlu diproses
3. Sesuaikan kaedah resolveCSS untuk menulis fail gaya index.css
4. Sesuaikan kaedah resolveJS untuk menulis fail skrip js
5. Sesuaikan kaedah resolveHTML untuk menulis fail index.html

3.1.1 Langkah 1 - Import modul yang diperlukan dan buat ungkapan Biasa

const path=require(&#39;path&#39;)
const fs=require(&#39;fs&#39;)

const regStyle=/<style>[\s\S]*<\/style>/

const scriptruler=/<script>[\s\S]*<\/script>/
//需要读取的文件
fs.readFile(path.join(__dirname,&#39;/static/index.html&#39;),&#39;utf-8&#39;,function(err,dateStr){
    if(err){
        return console.log("读取失败")
    }
   resolveCSS(dateStr)
   resolveHTML(dateStr)
   resolveJS (dateStr)
})

3.1.2 Custom resolveCSS resolveHTML kaedah resolveJS

function resolveCSS(htmlStr){
    const r1=regStyle.exec(htmlStr)
    const newcss=r1[0].replace(&#39;<style>&#39;,&#39;&#39;).replace(&#39;</style>&#39;,&#39;&#39;)
    //将匹配的css写入到指定的index.css文件中
    fs.writeFile(path.join(__dirname,&#39;/static/index.css&#39;),newcss,function(err){
        if(err) return console.log("导入失败"+err.message)
        console.log("ojbk")
    })
}
function resolveJS(htmlStr){
    const r2=scriptruler.exec(htmlStr)
    const newcss=r2[0].replace(&#39;<script>&#39;,&#39;&#39;).replace(&#39;</script>&#39;,&#39;&#39;)
    //将匹配的css写入到指定的index.js文件中
    fs.writeFile(path.join(__dirname,&#39;/static/index.js&#39;),newcss,function(err){
        if(err) return console.log("导入失败"+err.message)
        console.log("ojbk")
    })
}
function  resolveHTML(htmlStr){
    const newhtml=htmlStr
    .replace(regStyle,&#39;<link rel="stylesheet" href="./index.css">&#39;)
    .replace(scriptruler,&#39;<script src="./index.js"></script>&#39;)
    //将匹配的css写入到指定的index.html文件中
    fs.writeFile(path.join(__dirname,&#39;/static/index2.html&#39;),newhtml,function(err){
        if(err) return console.log("导入失败"+err.message)
        console.log("ojbk")
    })
}
Hasil akhir ialah Gaya dilucutkan daripada


Untuk lebih banyak pengetahuan berkaitan nod, sila lawati: tutorial nodejs!

Atas ialah kandungan terperinci Analisis ringkas modul laluan laluan nod. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

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