Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在nodeJS中要求.json文件和module.exports_Javascript_Json_Node.js - Fatal编程技术网

Javascript 如何在nodeJS中要求.json文件和module.exports

Javascript 如何在nodeJS中要求.json文件和module.exports,javascript,json,node.js,Javascript,Json,Node.js,我习惯用这种方式创建.json文件 module.exports = [ {"year":2007,"month":1,"startDate":"2007-01-01","endDate":"2007-01-31"}, {"year":2007,"month":2,"startDate":"2007-02-01","endDate":"2007-02-28"}, {"year":2007,"month":3,"startDate":"2007-03-01","endDate":"2007-03-

我习惯用这种方式创建.json文件

module.exports = [
{"year":2007,"month":1,"startDate":"2007-01-01","endDate":"2007-01-31"},
{"year":2007,"month":2,"startDate":"2007-02-01","endDate":"2007-02-28"},
{"year":2007,"month":3,"startDate":"2007-03-01","endDate":"2007-03-31"},
]
然后我要求他们这样做

var dates = require('./JSON/dates.json');
在过去,当我与nodejs和grunt合作建立网站时,这种方法一直有效。 但是现在我用nodeJS创建了一个服务器应用,我收到了这个消息

语法错误:G:\Navision Reports\JS ReportServer\JSON\dates.JSON:意外的令牌消息。我不明白发生了什么事。它可以完美地处理.js文件


有人知道为什么这不再有效吗?我知道如果我只删除var dates=require('./json/dates.json'),我就可以拥有一个json对象;并将文件变成一个json对象,但我真的不想重新组织所有这些数据

这不是有效的JSON文件,您可以在任何代码格式化程序中检查它是否有语法错误:

module.exports = [
{"year":2007,"month":1,"startDate":"2007-01-01","endDate":"2007-01-31"},
{"year":2007,"month":2,"startDate":"2007-02-01","endDate":"2007-02-28"},
{"year":2007,"month":3,"startDate":"2007-03-01","endDate":"2007-03-31"},
]
请以有效的方式格式化JSON,然后需要它,或者将
dates.JSON
更改为
dates.js


如果将文件另存为
.json
,则不必使用
模块.exports
,因为节点内置了对
.json
文件的支持。您甚至不必使用
JSON.parse

我认为您需要将文件保存为*.js

require('./JSON/dates.js');
很好


因为module.exports不再是格式良好的JSON;这是javascript

好的,谢谢,我将改用dates.js。我知道它不是一个有效的JSON对象,但我仍然有点困惑,为什么过去它对我有用。(在nodejs中)现在你可以
只需引用名称而不使用
.JSON
就可以要求一个JSON文件。例如,
constjsondata=require(“./myjsonfile”)
在vscode中,我没有得到任何有关它的信息,但它确实有效(可能有一个扩展)。