2016-08-27 85 views
-5

我一直在嘗試一些變量移動到外部文件時崩潰,所以我決定創建一個config.jsonNode.js的要求JSON

{ 
    "username":"...", 
    "password":"...", 
    "identity_secret":"...", 
    "shared_secret":"...", 
    "hostname":"127.0.0.1", 
    "owner":"..." 
} 

,然後要求它作爲一個模塊

'use strict' 

var ACCEPT = 0xf 
var REPORT = 0xff 
var DECLINE = 0xfff 

var fs = require('fs') 
var config = require('./config.json') 

但每當我運行該腳本,我不斷收到此錯誤

module.js:457 
    throw err; 
^

Error: Cannot find module 'config.json' 
    at Function.Module._resolveFilename (module.js:455:15) 
    at Function.Module._load (module.js:403:25) 
    at Module.require (module.js:483:17) 
    at require (internal/module.js:20:19) 
    at Object.<anonymous> (/root/steam-bot/steam_bot.js:8:14) 
    at Module._compile (module.js:556:32) 
    at Object.Module._extensions..js (module.js:565:10) 
    at Module.load (module.js:473:32) 
    at tryModuleLoad (module.js:432:12) 
    at Function.Module._load (module.js:424:3) 

我在node v6.4.0node bot.js

這是一個單一的文件腳本,所以我不可能有改變裝載目錄的機會,這兩個文件確實是在同一個目錄

看來進口未引發錯誤的這個腳本的作品

var fs = require('fs') 
var config = require('./config.json') 

console.log(config.username) 
+1

是你的文件,該文件要求JSON是在同一個目錄? –

+0

您在'require.js'中給出了'config.json'的錯誤路徑 – abdulbarik

+1

任何提示如何重現您的問題? –

回答

1

有兩種可能的原因會導致你的錯誤。 1)您的JSON文件與您的腳本不在同一目錄中,或者2)您使用的是舊版本的Node.js(0.5之前)。確保您的主腳本和JSON文件位於相同的目錄中。另外,如果你不想更新的Node.js,你仍然可以包括JSON文件是這樣的:

var imported = JSON.parse(require('fs').readFileSync('.\\config.json') + ''); 
+1

他使用v6.4.0他提到它 – MatejMecka

+2

@UnknownDeveloper我知道,但我也寫這爲未來的用戶誰得到同樣的問題。也許我的回答可以幫助他們。 –

+0

哦,好的思想! – MatejMecka

0

我通過腳本的其餘部分望去,意識到有被解析另一個polldata.json由我正在使用的庫生成。

出於某種奇怪的原因,這是不正確的扔

Error: Cannot find module 'config.json'