Articles of fs

删除某个目录下的所有文件,其名称以节点js中的某个string开头

我想要删除所有文件的文件名以特定目录中的相同string开始,例如我有以下目录: public/ profile-photo-SDS@we3.png profile-photo-KLs@dh5.png profile-photo-LSd@sd0.png cover-photo-KAS@hu9.png 所以我想应用一个函数来删除所有以stringprofile-photo开始的文件,最后在下面的目录中有: public/ cover-photo-KAS@hu9.png 我正在寻找这样的function: fs.unlink(path, prefix , (err) => { });

如何阅读节点中的本地Markdown文件?

我正在使用名为react-markdown的库。 如果你知道React,它的实现非常简单。 import React from 'react'; import ReactDOM from 'react-dom'; import ReactMarkdown from 'react-markdown'; var content = '# This is a header\n\nAnd this is a paragraph'; ReactDOM.render( <ReactMarkdown source={content} />, document.getElementById('root') ); 库的演示只讨论创buildMarkdownstring作为variables,而不是本地文件。 我明白的做法是在Node中使用fs 。 所以我写了以下内容: import React from 'react'; import ReactDOM from 'react-dom'; import ReactMarkdown from 'react-markdown'; import * as fs from 'fs'; import […]

文件循环function

我在node.js中创build了一个循环遍历目录文件的函数。 它应该将文件名添加到returnDatavariables,然后返回returnData。 但是,它一直没有返回。 我已经在函数中放了几个console.log语句来帮助我debugging,但我无法弄清楚为什么它不起作用。 function loopMusic (directory) { var returnData = ""; fs.readdir (directory, function (err, files) { if (err) { console.log (err); } files.forEach (function (file, index) { returnData += file; console.log (returnData); }); }); console.log (returnData); return returnData; } 第一个console.log语句能够打印这些文件,但是在返回之前的那一行只是打印一个新行。

使用Electron访问Angular 2应用程序中的文件系统

我知道Angular 2运行在无法访问文件系统的Web浏览器上。 不过,我使用Electron作为我的前端,并通过电子运行应用程序: "build-electron": "ng build –base-href . && cp src/electron/* dist", "electron": "npm run build-electron && electron dist" 所以我用npm run electron运行它,最后运行electron dist 。 由于我通过electron运行,而不是ng我会认为我应该能够访问文件系统。 但是,当我这样做的时候: import * as fs from 'fs' 我收到一个错误: ng:///AppModule/AppComponent_Host.ngfactory.js:5 ERROR TypeError: __WEBPACK_IMPORTED_MODULE_0_fs__.readFileSync is not a function(…) 同样,当我尝试: var fs = require('fs'); 我得到: ng:///AppModule/AppComponent_Host.ngfactory.js:5 ERROR TypeError: fs.readFileSync is not a function […]

node.js fs.existsSync始终为false

我在这个path上有一个文件: ~/Downloads/flightlog_2017-71-19_19747.txt 但是,当我尝试写或检查它是否存在: fs.existsSync('~/Downloads/flightlog_2017-71-19_19747.txt') 它总是返回false 如果我在terminal做: $ nano ~/Downloads/flightlog_2017-71-19_19747.txt 这工作正常

使用嘲笑模拟fs模块

在我的nodejs服务器上,我想嘲笑我的testing与摩卡。 我最终使用嘲笑,但我真的误解了一个概念。 在我的testing中(我也使用Typescript): // mock for fs var fsMock = { readdir: (path: string) => { return { err: undefined, files: [] } }, writeFile: (path: string, content: string, encoding: string) => { return { err: undefined } }, readFileSync: (path: string, encoding: string) => { return "lol" } }; Mockery.registerMock('fs', fsMock); beforeEach((done) => { […]

node.js中可写入stream的write()方法有多快?

在我的服务器端,我使用可写入stream来logging所有连接到服务器的客户端的变化数据。 这是我写的: function updateLoop () { var data = {'timeStep': timeStep, 'playerInfo': playerInfo}; var text = JSON.stringify(data); writeStram.write(text + '\n'); timeStep += 1; } … updateTimer = setInterval(updateLoop, 50); 所以函数updateLoop()每50ms调用一次。 当“playerInfo”较小时(小于1KB),例如服务器端运行20s后,输出文件中有20 * 1000/50 = 400行数据 但是当“playerInfo”变大时,如6KB以上,服务器端运行20s后,输出文件中只有220行数据。 较大的playerInfo是输出文件中成功logging数据的较小行。 我想知道是否有方法write()的调用率有一些限制 非常感谢你们的帮助!

Node.js强大的重命名上传的文件

试图完成“Node初学者书”这本书,最后我需要的是实现修改一个请求处理程序,它显示一个图像,在用户上传后重命名,我使用node-formidable和fs模块。 var fs = require("fs"), formidable = require("formidable"); function upload (resp, req) { var form = new formidable.IncomingForm(); form.parse(req, function (error, fields, files) { /* This is the part that doesn't work on Windows */ fs.rename(files.upload.path, "/tmp/test.png", function (error) { if (error) { fs.unlink("/tmp/test.png"); fs.rename(files.upload.path, "/tmp/test.png"); } }); resp.writeHead(200, {"Content-Type":"text/html"}); resp.write("Received image:<br/>"); resp.write("<img src=/show />"); […]

不支持的内容typesImage / PNG

我试图上传一个图像文件在服务器上使用NodeJS busboy ,我得到这个错误: Service Listening for request on: 8080 Error: Unsupported content type: image/png at Busboy.parseHeaders (D:\ImageUploadService\node_modules\busboy\lib\main.j s:66:9) at new Busboy (D:\ImageUploadService\node_modules\busboy\lib\main.js:21:10) at D:\ImageUploadService\server.js:15:15 at Layer.handle [as handle_request] (D:\ImageUploadService\node_modules\expr ess\lib\router\layer.js:76:5) at next (D:\ImageUploadService\node_modules\express\lib\router\route.js:100: 13) at Route.dispatch (D:\ImageUploadService\node_modules\express\lib\router\rou te.js:81:3) at Layer.handle [as handle_request] (D:\ImageUploadService\node_modules\expr ess\lib\router\layer.js:76:5) at D:\ImageUploadService\node_modules\express\lib\router\index.js:234:24 at Function.proto.process_params (D:\ImageUploadService\node_modules\express \lib\router\index.js:312:12) at D:\ImageUploadService\node_modules\express\lib\router\index.js:228:12 以下是我的代码: app.post('/uploadImage',function(req,res){ var […]

在Node中写入和删除JSON文件中的元素

我目前正在阅读一个JSON对象文件,我试图修改元素并写回它。 我知道这可以很容易地用MongoDB来完成,但是我需要用JSON文件来完成。 我目前的结构如下所示: { "lastupdated": "Thu Nov 20 2014 10:57:08 GMT-0500 (EST)", "restaurants" : { "McDonalds": { "Americas": [ "Atlanta", "Cambridge", "Dayton" ], "Asia": [ "Seoul", "Shanghai", "Singapore", "Tokyo" ], "Europe": [ "Milan", "Madrid", "Amsterdamn" ] }, "BurgerKing" : { "Americas": [ "Atlanta", "Boston", "Charlottesville" ], "Asia" : [ "Hong Kong", "Singapore", "Tokyo" ], "Europe" […]