當前位置:首頁 » 網路管理 » nodejs刪除目錄時要注意什麼問題
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

nodejs刪除目錄時要注意什麼問題

發布時間: 2022-02-02 08:14:09

❶ nodejs問題

存的時候用JSON.stringify,取的時候用 JSON.parse 不就行了?

❷ nodejs fs模塊怎麼刪除靜態文件不是文件夾

fs.unlink(path,callback)//非同步刪除
fs.unlinkSync(path)//同步刪除

path為你文件的路徑

❸ 在刪除nodejs後,在重新安裝nodejs ,npm一直出錯是什麼原因

可以使用npm config list 查看當前配置的狀況,說可能是某些包被國內了 需要操作

npmconfigsetstrict-sslfalse//關閉npm的https
npmconfigsetregistry""//重新設置npm的獲取地址

或者直接編輯c盤下的.npmrc文件,將registry的值修改為:

registry=

但是發現都沒有什麼用

npmconfigsetregistry

最後 終於找到了用代理 是代理的問題,直接

npmconfigsetproxy

注意這里的address我開始不知道是什麼地址 就直接寫的本電腦的IP地址 結果就可以了

❹ Node.JS循環刪除非空文件夾及子目錄下的所有文件

最近要實現一個循環文件夾的功能,文件夾可能不是空的,還可能帶有子文件夾和文件,網上找了一些現有的庫,但是都不提供刪除進度。所以就自己寫了一個。
var
fs
=
require('fs')
var
path
=
require('path')
var
remove
=
function(tarPath,
cb,
removeStates)
{
if
(!removeStates)
{
removeStates
=
{
cur:
0,
all:
0
}
}
else
{
if
(!removeStates.cur)
{
removeStates.cur
=
0;
}
if
(!removeStates.all)
{
removeStates.all
=
0;
}
}
removeStates.all++;
fs.stat(tarPath,
function(err,
states)
{
removeStates.cur++;
if
(err)
{
cb
&&
cb()
return
}
if
(states.isDirectory())
{
fs.readdir(tarPath,
function(err,
files)
{
if
(err)
{
console.log(err)
cb
&&
cb()
return
}
if
(files.length
<
1)
{
fs.rmdir(tarPath,
cb)
return
}
var
count
=
0
var
checkEnd
=
function()
{
if
(++count
==
files.length)
{
fs.rmdir(tarPath,
cb)
}
}
files.forEach(function(file)
{
remove(path.join(tarPath,
file),
checkEnd,
removeStates)
})
})
}
else
{
fs.unlink(tarPath,
function(err)
{
if
(err)
{
console.log(err)
}
cb
&&
cb()
return
})
}
})
return
removeStates
}
使用很簡單
var
states
=
remove('./testdir',
function()
{
console.log('delete
complete')
clearInterval(checkTimer)
});
var
checkTimer
=
setInterval(function()
{
console.log(states)
},
500);
輸出結果:
node
remove.js
{
cur:
546,
all:
546
}
delete
complete
PS:下面看下NodeJs遞歸刪除非空文件夾
此文由於第一次使用fs.unlink()刪除文件夾時報「Error:
EPERM:
operation
not
permitted,
unlink」錯誤而寫,這是因為fs.unlink()只能刪除文件。
fs.rmdir()或fs.rmdirSync()用戶刪除空文件夾,
fs.unlink()或fs.unlinkSync()用於刪除文件,因此刪除非空文件夾需要使用遞歸方式。
function
deleteFolderRecursive(path)
{
if(
fs.existsSync(path)
)
{
fs.readdirSync(path).forEach(function(file)
{
var
curPath
=
path
+
"/"
+
file;
if(fs.statSync(curPath).isDirectory())
{
//
recurse
deleteFolderRecursive(curPath);
}
else
{
//
delete
file
fs.unlinkSync(curPath);
}
});
fs.rmdirSync(path);
}
};
總結
以上所述是小編給大家介紹的Node.JS循環刪除非空文件夾及子目錄下的所有文件,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!

❺ nodejs如何更換項目目錄

nodejs沒什麼工程目錄,在安裝的時候有選項,可以將node加入到系統環境變數之中,這樣會簡單一點;要麼通過node的命令行鏈接來啟動命令窗口,環境也會被設置好,在你的工程下直接運行node app.js就行。

❻ nodejs文件上傳為什麼要在臨時目錄

2.上傳文件時 IE 瀏覽器會獲得文件路徑全名 如: C:/A.TXT FF 和CHROME 會獲得文件名 A.TXT ,這個操作是為了用戶安全和隱私.

❼ nodejs中require的路徑是一個文件夾時發生了什麼

在引用文件模塊的時候後要加上文件的路徑:/.../.../xxx.js表示絕對路徑、./xxx.js表示相對路徑(同一文件夾下的xxx.js),../表示上一級目錄。
如果既不加/.../、../又不加./的話,則該模塊要麼是核心模塊,要麼是從一個node_moles文件夾載入。

❽ 怎麼卸載舊版本的nodejs

  1. 就是你在安裝這個軟體以後,這個軟體就自己帶有一個卸載的程序,你只要點擊:開始---程序---找到這個程序----上面就會有這個程序的卸載程序。

  2. 就是通過「添加與刪除」來卸載,這個程序一般的WINDOS,自己都會帶這個程序

❾ nodejs怎麼在指定文件夾下運行

一、挖坑 & 掉坑:
緣起一段這樣的代碼:
fs.readFile('./docs/use.md', function (err, buffer) {
if (err) {
return console.log('error: ', err);
}

console.log('OK');
});

本地運行時一切 OK,線上部署時卻死活找不到 ./docs/use.md 這個文件,後來才發現是因為線上啟動應用時不是從當前目錄啟動了,不過為什麼啟動腳本的位置也會影響這個路徑呢,且往下看。
二、填坑:
Node 中的文件路徑大概有 __dirname, __filename, process.cwd(), ./ 或者 ../,前三個都是絕對路徑,為了便於比較,./ 和 ../ 我們通過 path.resolve(『./』)來轉換為絕對路徑。
先看一個簡單的栗子:
假如我們有這樣的文件結構:
app/
-lib/
-common.js
-model
-task.js
-test.js
在 task.js 里編寫如下的代碼:
var path = require('path');console.log(__dirname);console.log(__filename);console.log(process.cwd());console.log(path.resolve('./'));

在 model 目錄下運行 node task.js 得到的輸出是:
/Users/guo/Sites/learn/app/model.js/Users/guo/Sites/learn/app/model.js/task.js/Users/guo/Sites/learn/app/model.js/Users/guo/Sites/learn/app/model.js

然後在 app 目錄下運行 node model/task.js,得到的輸出是:
/Users/guo/Sites/learn/app/model.js/Users/guo/Sites/learn/app/model.js/task.js/Users/guo/Sites/learn/app
/Users/guo/Sites/learn/app

那麼,不好意思不是問題來了~T_T,我們可以得出一些膚淺的結論了:
__dirname: 總是返回被執行的 js 所在文件夾的絕對路徑
__filename: 總是返回被執行的 js 的絕對路徑
process.cwd(): 總是返回運行 node 命令時所在的文件夾的絕對路徑
./: 跟 process.cwd() 一樣、一樣、一樣的嗎?
我明明記得在 require(『../lib/common』) 里一直都是各種相對路徑寫,也沒見報什麼錯啊,我們還在再來個栗子吧,還是上面的結構,』model/task.js』 里的代碼改成:
var fs = require('fs');var common = require('../lib/common');

fs.readFile('../lib/common.js', function (err, data) { if (err) return console.log(err);
console.log(data);
});

在 model 目錄下運行 node task.js,一切 Ok,沒有報錯。然後在 app 目錄下運行 node model/task.js,然後很果斷滴報錯了:
那麼這下問題真的都是來了,按照上面的理論,在 app 下運行時,../lib/common.js 會被轉成 /Users/guo/Sites/learn/lib/common.js,這個路徑顯然是不存在的,但是從運行結果可以看出 require(『../lib/common』) 是 OK 的,只是 readFile 時報錯了。
那麼關於 ./ 正確的結論是:
在 require() 中使用是跟 __dirname 的效果相同,不會因為啟動腳本的目錄不一樣而改變,在其他情況下跟 process.cwd() 效果相同,是相對於啟動腳本所在目錄的路徑。
三、總結:
只有在 require() 時才使用相對路徑(./, ../) 的寫法,其他地方一律使用絕對路徑,如下:
// 當前目錄下
path.dirname(__filename) + 『/test.js』;
// 相鄰目錄下
path.resolve(__dirname, 『../lib/common.js』);
四、參考鏈接:
What is the difference between __dirname and ./ in node.js
nodejs API
以上:smile:。

❿ 卸載node需要注意什麼

對於Windows平台來說,所有的應用程序,其安裝卸載都是一樣的,node.js也不例外
怎麼卸載nodejs

第一種方法就是利用應用程序自帶的安裝卸載程序進行卸載,一般有兩種途徑可以找到這個卸載程序,首先可以在開始菜單中Node.js主菜單目錄下有一個卸載程序子菜單
怎麼卸載nodejs

其次,可以直接找到Node.js的安裝目錄,在安裝目錄中一般都會有一個卸載程序
怎麼卸載nodejs

第二種方法,是打開系統控制面板,找到「程序和功能」後在打開的窗口中選擇Node.js程序,然後點擊」卸載/更改「菜單即可
怎麼卸載nodejs

第三種方法就是利用第三方卸載工具進行處理,可以很乾凈方便的刪除
怎麼卸載nodejs

另外,現在有些程序可能沒有相應的卸載程序,此種情況下,可以直接刪除安裝目錄,然後使用第三方工具清理一下注冊表就行
怎麼卸載nodejs