当前位置:首页 » 网络管理 » 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