尝试使用babel / register模块读取json文件时出错

时间:2015-09-05 18:19:45

标签: javascript json node.js babeljs nconf

这是我的配置文件:

import nconf from "nconf";
import path from "path";

nconf.argv()
    .env()
    .file({
        file: path.join(
                __dirname,
                `manifest.${process.env['NODE_ENV'] || 'development'}.json`
            )
    });

var manifest = {
    server: nconf.get('server'),
    connections: nconf.get('connections'),
    plugins: nconf.get('plugins')
};

export default manifest;

这是配置文件

{
    "server": {},
    "connections": [
        {
            "port": 3000,
            "labels": ["api"]
        }
    ],
    "plugins": [
        {
            "vision": {},
            "visionary": {
                "engines": {
                    "jsx": "hapi-react-views"
                },
                "relativeTo": __dirname,
                "path": ""
            }
        }
    ]
}

不幸的是我收到以下错误:

throw new Error("Error parsing your configuration file: [" + self.file +
            ^
Error: Error parsing your configuration file: [/Users/mazzy/vagrant-devbox/hapi-react-es6/server/config/manifest.development.json]: Unexpected token _
    at [object Object].File.loadSync (/Users/mazzy/vagrant-devbox/hapi-react-es6/node_modules/nconf/lib/nconf/stores/file.js:14

1 个答案:

答案 0 :(得分:0)

我认为问题在于:

db.php

nconf假设您的配置文件是JSON,但这不是有效的JSON。

如果您的配置文件中需要JavaScript,则可选择"relativeTo": __dirname, (或require),然后使用import代替.defaults(您' ll可能想要将文件名从.file更改为.json,以明确它是JavaScript,而不是JSON):

.js

我还没有测试过这个,但希望它有所帮助。