npm意外的令牌/在位置98的config.json中

时间:2017-01-24 20:24:39

标签: json node.js mongodb npm

我已经看到了几个与npm相关的意外令牌错误,但这个错误对我来说再次独一无二。我找不到其他人发布的类似问题。我的配置文件只有我本地mongodb,rabbitmq" amqp",wordpress插件和mysql DB的连接对象。

如果他们以前见过这个错误,有人可以帮我解决这个错误吗?

C:\xampp\htdocs\livetrader\chat\node_modules\nconf\lib\nconf\stores\file.js:160
throw new Error("Error parsing your configuration file: [" + this.file + ']: ' + ex.message);
^

Error: Error parsing your configuration file:     
[C:\xampp\htdocs\livetrader\chat/config.json]: Unexpected token / in JSON at position 98

使用此错误中引用的config.json文件更新此帖子

{
  "port": 1337,
  "mongoose": {
    "uri": "mongodb://localhost:27017/livetrader"
  },

  "amqp":{
    "uri": "amqp://guest:guest@localhost:15672",
    "queue": "TickData"
  },

  "sql":{
    "host":"localhost",
    "database":"db_main",
    "user":"root",
    "password":""
  },

  "wp":{
    "host":"http://forextrader.dev",
    "LOGGED_IN_KEY":"MY_LOGGED_IN_KEY",
    "LOGGED_IN_SALT":"MY_LOGGED_IN_SALT",
    "prefix":"wp_",
    "avatarPath":"http://localhost/livetrader/wp-content/uploads/avatars",
    "myCreedApi":"MY_API_KEY"
  },

  "guest":{
   "cookie_name": "trading-forex-guest",
   "ttl": 180
 }
}

更新后端配置路径

"使用严格&#34 ;;

var nconf = require('nconf');

nconf.argv()
    .env()
    .file({
        file: process.cwd() + '/config.json'
    });

module.exports = nconf;

1 个答案:

答案 0 :(得分:0)

您的JSON文件是属性格式的。 JSON.parse()接受它,没问题。字符98也不是斜杠。

然而,你的道路上有一条可疑的斜线:

C:\xampp\htdocs\livetrader\chat/config.json

最后的斜杠是unix风格,而不是windows风格。这会导致问题吗?

如果不是这样,你必须阅读错误的文件,或者以错误的方式传递给函数。尝试使用console.log来确定到达JSON.parse()的确切内容。

将对象提供给JSON.parse()可能会导致意外错误,因为.toString()被调用。例如:

> JSON.parse({a:1})
SyntaxError: Unexpected token o in JSON at position 1

> ({a:1}).toString()
'[object Object]'

所以,回顾一下,你一定是:

  1. 阅读错误的文件
  2. 将不是String的对象传递给JSON.parse()
  3. 路径中的反斜杠有一个奇怪的问题