2017-01-16 75 views
1

我试图在Node + Express上加载一个非常大的JSON文件(360 Mb),但下面的行会返回此错误。那我应该怎么处理呢?NodeJS:'toString()'在需要大型JSON文件时失败

var emails = require("../fake_IO/cleaned_data_lang.json"); 

错误:

Error: 'toString()' failed 
at Buffer.toString (buffer.js:495:11) 
at Object.fs.readFileSync (fs.js:552:33) 
at Object.Module._extensions..json (module.js:585:20) 
at Module.load (module.js:487:32) 
at tryModuleLoad (module.js:446:12) 
at Function.Module._load (module.js:438:3) 
at Module.require (module.js:497:17) 
at require (internal/module.js:20:19) 
at loadEmails (C:\Users\me\Workspace\myProj\rules_handler\rules-ctrl.js:22:16) 
at exports.executeRules (C:\Users\me\Workspace\myProj\rules_handler\rules-ctrl.js:12:51) 
+0

遇到同样的问题。你最终解决了这个问题吗? – developthewebz

+0

这是文件大小节点上面可以处理的。这是某种“错误”。 256mb是V8中字符串的限制 – yBrodsky

回答

0

尝试使用联接的FS fs.createReadStream(),而不是直接需要的文件。 我在某处发现了一条评论,请给它一个提示。 #here

相关问题