Tag: 文件

Node.js:如何检查文件夹是否为空或没有上传文件列表

我正在使用Node.js 我想检查文件夹是否为空 ? 一个select是使用fs.readdir,但是它将大量的文件加载到一个数组中。 我在该文件夹中有超过10000个文件。 加载文件名是无用的,只是为了检查文件夹是否为空。 所以寻找替代解决scheme。

使用fs.writeFileSync将JSON对象写入JSON文件

我想写一个JSON文件的JSON对象。 代码执行没有错误,但是写入对象本身而不是写入JSON文件的所有内容是: [object Object] 这是写作的代码: fs.writeFileSync('../data/phraseFreqs.json', output) 'output'是一个JSON对象,并且该文件已经存在。 请让我知道是否需要更多的信息。

Nodejs文件权限

在Node中, fs.stat方法返回一个fs.Stats对象,我可以通过fs.Stats.mode属性获得文件权限。 以下是来自节点和shell的相同目录的实际输出: node shell 17407 d rwx rwx rwt 16877 d rwx rx rx 16749 d rx rx rx 16832 d rwx — — 我需要知道如何parsingfs.Stats.mode编号才能获得权限。 回答 该数字是在八进制数字系统中,在转换为十进制后,如下所示: 17407 41777 d rwx rwx rwt 16877 40755 d rwx rx rx 16749 40555 d rx rx rx 16832 40777 d rwx — — 而从八进制到十进制的转换就是这样的: parseInt(stat.mode.toString(8), 10) […]

在Node.js中,读取一个.html文件的目录并在其中search元素属性?

我甚至不能想到如何做到这一点。 基本上,想象一个文件夹,它有一个静态网站。 它具有所有的图像,样式和html文件等。使用我的Node应用程序,我想查看这个文件夹,只获取.html文件,然后select具有“data-template =”属性的.html文件在家里“。 我知道这似乎有点奇怪,但它是一个项目,需要用户上传他们的静态网站文件,然后我的节点应用程序做他们的文件的东西。 无论如何,只是好奇迭代某些文件types,然后在里面寻找…任何帮助接近这将真正帮助我。 非常感谢,詹姆斯

如何在docker构buildDockerfile时cachingRUN npm install指令

我目前正在为我的应用程序开发一个Node后端。 当dockerizing它(docker build)时,最长的阶段是RUN npm install 。 RUN npm install指令代表每个小型服务器代码更改,通过使开发人员等待每次完成构build来影响生产力。 我发现在应用程序代码所在的位置运行npm install并使用ADD指令将node_modules添加到容器可以解决这个问题,但这远非最佳实践。 这种方式打破了docker化的整体思路,导致集装箱重量增加。 任何其他解决scheme

从内存中的string加载node.js模块

如果我将文件的内容作为内存中的string,而不将它写出到磁盘,我将如何要求()一个文件? 这是一个例子: // Load the file as a string var strFileContents = fs.readFileSync( "./myUnalteredModule.js", 'utf8' ); // Do some stuff to the files contents strFileContents[532] = '6'; // Load it as a node module (how would I do this?) var loadedModule = require( doMagic(strFileContents) );

在Nodejs中parsing大的JSON文件

我有一个存储JSONforms的JavaScript对象的文件,我需要读取文件,创build每个对象,并与他们做一些事情(在我的情况下插入到数据库中)。 JavaScript对象可以表示为一种格式: 格式A: [{name: 'thing1'}, …. {name: 'thing999999999'}] 或格式B: {name: 'thing1'} // <== My choice. … {name: 'thing999999999'} 请注意, …表示很多JSON对象。 我知道我可以读取整个文件到内存中,然后像这样使用JSON.parse() : fs.readFile(filePath, 'utf-8', function (err, fileContents) { if (err) throw err; console.log(JSON.parse(fileContents)); }); 但是,文件可能真的很大,我宁愿使用stream来完成这一点。 我看到一个stream的问题是,文件内容可以在任何时候分解成数据块,所以我怎么能在这样的对象上使用JSON.parse() ? 理想情况下,每个对象将被作为一个单独的数据块读取,但我不知道如何做到这一点 。 var importStream = fs.createReadStream(filePath, {flags: 'r', encoding: 'utf-8'}); importStream.on('data', function(chunk) { var pleaseBeAJSObject = JSON.parse(chunk); // […]

node.js中fs.createReadStream vs fs.readFile的优缺点是什么?

我正在用node.js搞清楚,发现了两种读取文件的方法,一旦确定它存在并发送了正确的MIMEtypeswriteHead: // read the entire file into memory and then spit it out fs.readFile(filename, function(err, data){ if (err) throw err; response.write(data, 'utf8'); response.end(); }); // read and pass the file as a stream of chunks fs.createReadStream(filename, { 'flags': 'r', 'encoding': 'binary', 'mode': 0666, 'bufferSize': 4 * 1024 }).addListener( "data", function(chunk) { response.write(chunk, 'binary'); }).addListener( "close",function() […]