节点js语法错误意外令牌?

时间:2016-12-27 14:07:10

标签: node.js log4js-node

我的代码和log4js文件中的所有内容似乎都很好并且语法正确。但是,在运行我的应用程序时,我收到以下错误:

undefined:1
?{
^
SyntaxError: Unexpected token ?

当我到达这一行时会发生这种情况:

var logFile = 'log4js_' + process.env.NODE_ENV + '.json';
log4js.configure(logFile);

这是我的log4js文件

{
    "appenders": [
    {
      "type": "console"
    },
    {
      "type": "file",
      "filename": "logs/main.log",
      "maxLogSize": 1024000,
      "category": "main"
    }
    ]
}

我不知道为什么它会认为有一个"?"在开头的字符中,log4js文件没有语法错误。

1 个答案:

答案 0 :(得分:1)

您可能在其中有一个BOM字符或其他一些不可打印的字符,这些字符在JSON中是非法的。或者,您可能使用的字符编码不仅仅是JSON的5种合法编码之一,即UTF-8,UTF-16BE,UTF-16LE,UTF-32BE或UTF-32LE。

有关在JSON中BOM非法的原因的详细信息,请参阅以下答案: