He visto varios errores de token inesperados relacionados con npm, pero este es único para mí. No pude encontrar ningún problema similar publicado por otros. Mi archivo de configuración solo tiene objetos de conexión a mi mongodb local, rabbitmq "amqp", plugin de wordpress y mysql DB.
¿Alguien podría ayudarme con este error en caso de que lo haya visto antes?
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 98Actualizando esta publicación con el archivo config.json al que se hace referencia en este error
{ "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 } }Actualización de la ruta de configuración de back-end
"uso estricto";
var nconf = require('nconf'); nconf.argv() .env() .file({ file: process.cwd() + '/config.json' }); module.exports = nconf;Su archivo JSON tiene formato de propiedad. JSON.parse() lo toma, no hay problema. El carácter 98 tampoco es una barra.
Sin embargo, hay una barra sospechosa en tu camino:
C:\xampp\htdocs\livetrader\chat/config.jsonLa barra inclinada final es estilo Unix, no estilo Windows. ¿Podría estar causando el problema?
Si no es así, debe estar leyendo el archivo incorrecto o pasándolo de manera incorrecta a una función. Intente usar console.log para averiguar qué está llegando exactamente a JSON.parse() .
Dar objetos a JSON.parse() puede causar errores inesperados, ya que se invoca .toString() . Por ejemplo:
> JSON.parse({a:1}) SyntaxError: Unexpected token o in JSON at position 1 > ({a:1}).toString() '[object Object]'Entonces, para recapitular, debes ser:
String a JSON.parse()