Tag: 文件

Node.js:读取文件并将string作为数组放入数组中

我正在做一些项目,我需要阅读一些文件,并把数组分割(用\ n – 新行)string作为数组。 这意味着读取文件的输出与fs.readFileSync(filepath, 'utf8').split('\n'); 是string,我需要将其转换为数组,但有问题,因为我不知道如何。 有一些input数据的例子: [[164,17567,160,[]],[166,8675,103,[]], [[164,17567,160,[]],[166,8675,103,[]], [[164,17567,160,[]],[166,8675,103,[]], [[164,17567,160,[]],[166,8675,103,[]] 我试图把它与循环,但我不能把它从string转换成数组,不知怎的,输出变成这样: "[[164,17567,160,[]],[166,8675,103,[]]", "[[164,17567,160,[]],[166,8675,103,[]]", "[[164,17567,160,[]],[166,8675,103,[]]", "[[164,17567,160,[]],[166,8675,103,[]]"

Node.js下载多个文件

我需要从url下载多个文件。 我已经在文件中列出了他们的名单。 我该怎么做? 我已经做到了,但是不起作用。 我需要保持直到最后一次下载完成,然后才开始下一个wan。 我怎样才能做到这一点?

从节点中的JSON文件中删除字段

我想从节点中的JSON文件中删除一个字段。 假设我的文件看起来像这样 { 'name': John Doe, 'nickname': Johnny } 如果我说delete('nickname'); 我希望它看起来像这样。 { 'name': John Doe } 我应该怎么做呢? 还有一种方法来检查文件中剩下多less元素? 如果是这样,我怎么能删除整个文件,如果它是空的? 更新:这是我正在debugging的代码 var data = require(pathToFile); var element = data[deleteKey]; delete element; fs.writeFileSync(pathToFile, JSON.stringify(data, null, 4), 'utf8'); res.end(deleteKey + ' was deleted'); console.log(JSON.stringify(data, null, 4));

Node.js FIFO – 写入文件描述符时进程挂起

我有以下Node.js代码: var fs=require('fs'); var util=require('util'); var n2c=fs.createReadStream('./n2c'); var c2n=fs.createReadStream('./c2n'); n2c.on('data', function(b){ util.puts(b); }); c2n.on('data',function(b){ util.puts(b); }); 正如你所看到的,我有两个FIFO文件描述符(使用: mkfifo n2c , mkfifo c2n , chmod 777 n2c c2n ) 当我在另一个窗口中echo "Hello" > n2c时,“你好”出现了。 但是,当我尝试再次做到这一点, echo "Hello" > n2c挂起,没有什么出现在node.js窗口。 我该如何解决? 我希望能够在ad-infinitum的node.js窗口中回显“Hello”。 请帮忙!

频繁的文件读取与访问巨大的数组

我有一个从40000个单词的列表,我想随机使用Javascript(node.js)随机返回20-40个单词,来自客户端的请求。 每次从文件中读取它,或将它存储在一个数组中然后访问它会更好吗?

用HTML将file upload到Node.js

我正在尝试使用Node.js服务器来上传文件的API。 我得到undefined回应。 我正在按照这个教程https://www.youtube.com/watch?v=UtfZ-5WKpro Node.js的: var express = require('express'); var app = express(); var bodyParser = require('body-parser'); app.use(bodyParser.json()); app.post("*", function(req, res) { res.end(JSON.stringify(req.files) + "\n"); }); console.log("Server at 8080"); app.listen(8080); HTML <html> <head> <form method="post" enctype="multipart/form-data" action="http://localhost:8080"> <input type="file" name="myimage" /> <input type="submit" name="submit" value="submit"/> </form> </head> </html> 点击提交后,我得到了undefined响应。

在Node.js中将json数据读入全局variables

我想读一个JSON结构到一个全局variables,但似乎无法得到它的工作。 我从文件中读取一个callback进行处理(该部分正在工作)。 我想要“source_files”填充。 var fs = require('fs'); var source_files = []; function readConfig(callback) { fs.readFile('data.json', 'utf-8', function (err, content) { if (err) return callback(err); callback(content); }); } readConfig(function(config) { var settings = JSON.parse(config); var inputs = settings.inputs; for (var id=0; id < inputs.length; id++) { source_files.push(inputs[id].replace('./','')); } }); console.log(source_files);

将console.log输出redirect到文件

这应该是一个微不足道的问题,但我似乎并没有让我的思想围绕它。 有没有简单的方法来redirect我所有的console.log输出到文件? console.log以很好的方式格式化提供的对象,并且与不平凡的JSONable对象的对象进行正确的交互。 例如,如果我这样做 var myerr = new Error('There has been an error'); console.log(myerr); 我明白了 [Error: There has been an error.] 而如果我只是这样做 process.stdout.write(JSON.stringify(myerr)); 我明白了 {} 如果我这样做 process.stdout.write(myerr.toString()); 我明白了 Error: There has been an error 所以如果我重写我的console.log与一个函数,上面的任何技巧循环的参数,并redirect到一个文件日志将不完全相同。 所以我想知道:在输出到控制台之前, console.log是如何处理它所提供的对象的呢? 它只是在每个对象上调用.toString() ,用[]包装所有东西,并把所有东西都发送到process.stdout.write ? 还是它做一些其他types的预处理?

Docker:ENTRYPOINT无法执行命令,因为它找不到该文件

我想从node js图像创build一个容器,我已经configuration了我的Dockerfile ,如下所示: FROM node:boron # Create app directory RUN mkdir -p /usr/src/app WORKDIR /usr/src/app # Install app dependencies COPY package.json /usr/src/app RUN npm install # Bundle app source COPY . /usr/src/app VOLUME ./:/usr/src/app ENTRYPOINT [ "npm run watch" ] 在package.json我有一个名为watch的脚本,比运行名为watch-less的gulp任务要好。 如果我在我的本地环境中运行npm run watch ,该命令可以工作,但是当我尝试运行容器时,它不会显示下一个错误: docker:来自守护进程的错误响应:oci运行时错误:container_linux.go:247:启动容器进程导致“exec:\”npm run watch \“:在$ PATH中找不到可执行文件”。

奇怪的mongoose。 我从findOne的文档得到垃圾。

这是我的脚本是这样的: UserModel.findOne( {userId:'xx123456'}, function(err, doc) { if (err) { next(err); } else if (! doc) { next( 'findOne: User not found. Input: ' + JSON.stringify(data))); } else { next(null, {status:true, message:'User is found' , data:doc }); } } ); 当我在命令行运行unit testing时,doc是mongo文档。 例如{userId:'xx123456',名称:“我的名字”} 但是,当我做一个web应用程序调用这个函数传递完全相同的userId,doc.userId是空的。 但是,我可以在doc._doc中find数据为什么? 我有另一个网站,通常从“文档”返回完整的文档。 为什么有不一致… 我必须这样做来规范化数据:if(docs)docs = JSON.parse(JSON.stringify(docs));