ホームページ  >  記事  >  ウェブフロントエンド  >  ノードのパス パス モジュールの簡単な分析

ノードのパス パス モジュールの簡単な分析

青灯夜游
青灯夜游転載
2023-02-17 14:35:302476ブラウズ

パス モジュールは、ファイル/ディレクトリ パスを処理するための、nodejs の組み込みモジュールです。これはツールボックスとみなすことができ、使用できる多くのメソッドを提供します (もちろんすべてパス処理に関連しています)。同時に、パス モジュールは、Webpack を構成するときなど、フロントエンド開発で頻繁に表示されます。この記事では、ノードのパスモジュールについて説明します。

ノードのパス パス モジュールの簡単な分析

#ノードのパス モジュール

前書き: この記事を通じて、ノードの API について理解できるようになります。パス組み込みモジュールの

は、必要に応じて
node 公式 Web サイト で参照できます。もちろん、理論よりも実践が大切です そこで、実践用のケースを用意しました

1. パス モジュールの最初の紹介

パス モジュールは、

パスを処理するために Node.js によって公式に提供されるモジュール です。これは、パス処理に対するユーザーのニーズを満たす一連のメソッドと属性を提供します。

#2.path モジュール API#2.1 path.join()

#path.join() メソッド。複数のパス フラグメントを結合して完全なパス文字列にするために使用されます。

構文形式は

# です。 ##…paths(string) 一連のパス フラグメントは、結合する必要があるすべてのパス シリーズです。 [関連チュートリアルの推奨事項:
nodejs ビデオ チュートリアル ノードのパス パス モジュールの簡単な分析

プログラミング教育
]

##戻り値は string# # であることに注意してください。 #

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

console.log(pathStr)

##2.2 path.basename()

ノードのパス パス モジュールの簡単な分析

path.basename() メソッドを使用する、最後のパスの一部を取得することができます。この方法は、

path 構文形式

のファイル名を取得するためによく使用されます。 path は必須パラメータであり、パスを表す文字列です。

ファイル拡張子を表すオプションのパラメータです。


パスの最後の部分を表します。 ノードのパス パス モジュールの簡単な分析

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)
  • 2.3 path.extname()

ノードのパス パス モジュールの簡単な分析

path.extname() は、ファイル拡張子を取得するために使用されます。 path

形式は

path は必須パラメータであり、パスを表す文字列です
ノードのパス パス モジュールの簡単な分析Return: 取得した拡張文字列

  • const path=require("path")
    
    const fpath='./a/b/c/d/index.html'
    
    const ftext =path.extname(fpath)
    
    console.log(ftext)

  • 3を返します。クロックケースの練習

ノードのパス パス モジュールの簡単な分析

提供されたコードを分割します (1 つのファイルに html、css、および js が同時に含まれています)

3 つのファイル、つまり、index.html、index.css、index に分割します。 .js を作成し、準備したファイルに保存します#ソース コード

右クリックしてソース コードを表示します

#3.1 実装手順1.

および

<script>## に一致する 2 つの正規表現を作成します。 # Tag<a id="31_87"> 2. fs モジュールを使用して、処理する必要がある HTML ファイルを読み取ります 3.solveCSS メソッドをカスタマイズして、index.css スタイル ファイルを書き込みます<strong> 4.solveJS メソッドをカスタマイズしてインデックスを書き込みます.js スクリプト ファイル 5.solveHTML メソッドをカスタマイズして、index.html ファイルを作成します</script>

3.1.1 ステップ 1 - 必要なモジュールをインポートし、正規表現

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 カスタムresolveCSSsolveHTMLsolveJSメソッド

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")
    })
}
最後に、結果としてスタイルが削除されます。指定されたファイル ただし、初期のindex.htmlにはすべてのコードが含まれているため、スタイルを分割したときに

が格納される場所は同じです。最終的なindex.htmlは変更されません

#

ノード関連の知識については、nodejs チュートリアル を参照してください。

以上がノードのパス パス モジュールの簡単な分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はcsdn.netで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。