最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

nodeJS中關(guān)于path.resolve()的用法解析

 更新時間:2023年06月02日 14:47:23   作者:桃花扇J  
這篇文章主要介紹了nodeJS中關(guān)于path.resolve()的用法,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教

nodeJS關(guān)于path.resolve()用法

path是nodeJS的一個內(nèi)置模塊,可以直接在其他js文件中導(dǎo)入改模塊,代碼如下

var path = require("path")     //node的內(nèi)置模塊

該模塊導(dǎo)出很多path的方法,如圖1,我們要康康path.resolve() 是怎么用的

圖1 path的方法

path.resolve() 它的作用是拼接路徑,其傳參個數(shù)沒有限制,每個參數(shù)均表示一段路徑

我們看一個例子

var path = require("path");
const p = path.resolve("./","demo","img");
console.log(p);

【結(jié)果】第一行是它的運行目錄,第二行是運行結(jié)果  

接下來插入另一個變量的概念,__dirname, 在所有情況下,該變量都表示當前運行的js文件所在的目錄,它是一個絕對路徑。

例如,我們在 e:\web\code\11webpack\webpack_jwh\09入口和出口\src 這個路徑下的index.js中寫如下代碼

console.log(__dirname);

則輸出的結(jié)果為

在開發(fā)時,當我們使用path.resolve()拼接路徑時,會遇到需要使用絕對路徑的情況,但是當我們把項目部署到服務(wù)器時,絕對路徑會發(fā)生變化。

因此,需要一個可以計算的絕對路徑的表達方式。

有了__dirname,我們就可以解決以下問題。

代碼如下 :

var path = require("path");
const p = path.resolve(__dirname,"demo","img");
console.log(p);

這樣不管是什么環(huán)境下,都可以拼接出正確的路徑

nodejs path.resolve解析路徑異常的坑

作為一個后端,今天又解決的前端問題

問題現(xiàn)場

近期項目中,涉及nodejs自動生成文件,其中用到了shelljs。

各種路徑處理比較多,其中有個典型問題:有人習慣用path.resolve(),去解析絕對路徑。

過段時間有人用了shelljs的cd方法(類似于模擬shell命令中的cd命令)。這下扯了,項目各種路徑找不到。

觸發(fā)場景

shelljs使用cd命令后,又使用path.resolve,變成了狀態(tài)編程,自己和自己搞不愉快

原因 

path.resolve會默認把shelljs 所在目錄作為父目錄解析絕對路徑

解決辦法

下面隨便用一種:

  • 1、不記錄shell的目錄狀態(tài),即不使用cd命令;
  • 2、在項目初始化運行時,獲取根目錄常量,公用該處引用;
  • 3、使用path.join()去拼接路徑;
  • 4、該用fs的用fs,不夠的再拿shell來補。

問題模擬代碼如下:

let shell = ?require('shelljs');
let path = require("path");
shell.cd("E:\\code");
console.log(path.resolve('test'));
console.log(path.join('test'));

打印信息:

E:\code\test
test

總結(jié)

以上為個人經(jīng)驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 把Node.js程序加入服務(wù)實現(xiàn)隨機啟動

    把Node.js程序加入服務(wù)實現(xiàn)隨機啟動

    這篇文章主要介紹了把Node.js程序加入服務(wù)實現(xiàn)隨機啟動,本文使用qckwinsvc實現(xiàn)這個需求,講解了qckwinsvc的安裝和使用,需要的朋友可以參考下
    2015-06-06
  • Node.js 中的 Buffer緩沖區(qū)實例詳解

    Node.js 中的 Buffer緩沖區(qū)實例詳解

    Buffer 是 Node.js 提供的用于處理二進制數(shù)據(jù)的類,在瀏覽器中我們可以使用 Blob 或 ArrayBuffer,但 Node 環(huán)境下使用 Buffer 更加高效和靈活,本文給大家介紹Node.js 中的 Buffer緩沖區(qū),感興趣的朋友一起看看吧
    2025-04-04
  • 使用node操作SQLite的方法

    使用node操作SQLite的方法

    SQLite是一種輕量級的嵌入式關(guān)系型數(shù)據(jù)庫管理系統(tǒng),它以庫的形式存在,可以嵌入到應(yīng)用程序中,使用Node.js操作SQLite數(shù)據(jù)庫有多種方式,其中常用的方式包括使用sqlite3模塊、sequelize模塊和knex模塊,本文將詳細的給大家介紹這幾種方式,需要的朋友可以參考下
    2023-10-10
  • Node.js 多進程處理CPU密集任務(wù)的實現(xiàn)

    Node.js 多進程處理CPU密集任務(wù)的實現(xiàn)

    這篇文章主要介紹了Node.js 多進程處理CPU密集任務(wù)的實現(xiàn),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-05-05
  • node.js多個異步過程中判斷執(zhí)行是否完成的解決方案

    node.js多個異步過程中判斷執(zhí)行是否完成的解決方案

    這篇文章主要給大家介紹了關(guān)于node.js多個異步過程中判斷執(zhí)行是否完成的幾種解決方案,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面來一起看看吧。
    2017-12-12
  • nodejs做個爬蟲爬取騰訊動漫內(nèi)容簡單實現(xiàn)

    nodejs做個爬蟲爬取騰訊動漫內(nèi)容簡單實現(xiàn)

    這篇文章主要為大家介紹了nodejs做個爬蟲爬取騰訊動漫內(nèi)容簡單實現(xiàn),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2023-07-07
  • node.js使用 http-proxy 創(chuàng)建代理服務(wù)器操作示例

    node.js使用 http-proxy 創(chuàng)建代理服務(wù)器操作示例

    這篇文章主要介紹了node.js使用 http-proxy 創(chuàng)建代理服務(wù)器,結(jié)合實例形式分析了node.js使用 http-proxy 創(chuàng)建代理服務(wù)器原理、具體步驟與相關(guān)注意事項,需要的朋友可以參考下
    2020-02-02
  • Node.js16.15.1的一個報錯以及解決方案分享

    Node.js16.15.1的一個報錯以及解決方案分享

    這篇文章主要給大家介紹了關(guān)于Node.js16.15.1的一個報錯以及解決方案的相關(guān)資料,文中通過圖文介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2022-12-12
  • 我用的一些Node.js開發(fā)工具、開發(fā)包、框架等總結(jié)

    我用的一些Node.js開發(fā)工具、開發(fā)包、框架等總結(jié)

    這篇文章主要介紹了我個人使用的一些Node.js開發(fā)工具、開發(fā)包、框架等總結(jié),需要的朋友可以參考下
    2014-09-09
  • 淺談Koa2框架利用CORS完成跨域ajax請求

    淺談Koa2框架利用CORS完成跨域ajax請求

    這篇文章主要介紹了淺談Koa2框架利用CORS完成跨域ajax請求,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-03-03

最新評論

文登市| 屏山县| 甘孜| 新建县| 雷波县| 泰顺县| 武穴市| 大埔区| 博兴县| 政和县| 行唐县| 宁德市| 攀枝花市| 攀枝花市| 彰武县| 伊川县| 瑞安市| 老河口市| 定兴县| 孝昌县| 射洪县| 霍林郭勒市| 射洪县| 多伦县| 颍上县| 迁西县| 海淀区| 铁力市| 闽清县| 甘南县| 墨脱县| 栾川县| 时尚| 西丰县| 罗城| 无极县| 江孜县| 安宁市| 木兰县| 涡阳县| 黑水县|