2015-01-07 4 views
0
var jf = require('jsonfile'); 

jf.writeFile("./setting.json", newSettings, function(err) { 
    if (err){ 
     console.log("writing file err: ", err); 
    } else { 
     console.log("setting saved successfully."); 
    } 
}); 

에 파일을 쓸 수는 없지만 개발중인 파일 만 변경되었습니다. 나는 이유를 모른다. utf8 및 base64 인코딩을 시도했는데 둘 다 동일합니다.노드 웹킷 코드를 모두 개발에 성공적 보고서 (NPM 시작) 및 유통 (우편 app.nw 및 node-webkit.app 자원 디렉토리에 넣어) 위 app.nw

주위를 둘러 볼 방법이 있습니까? 그 설정을 넣어 .Json 파일을 어딘가에?

+0

PouchDB를 사용해 보았습니다. 같은 일이 일어났습니다. 개발 과정에서 작동하지만 일단 app.nw를 자원에 넣으면 변경 사항을 저장할 수 없습니다. – Russj

+0

JSON 쓰기 파일 용 모듈이 정말로 필요합니까? 'fs.writeFile ("./ settings.json", JSON.stringify (설정, null, 4), function (오류) {})'? 형식화 된 JSON 파일을 출력합니다. –

+0

프로그램에 대상 경로에 대한 액세스 권한이 있는지 확인 했습니까? –

답변

0

찾고있는 파일은 로컬 임시 폴더에 있습니다. 예 : "C :/Users/[YourUserName]/AppData/Local/Temp/[node_webkit_uniqueid]"/. 설정 json 파일은/Local/Temp/폴더 안에 있어야합니다.

프로덕션 환경의 실행 디렉터리를 얻으려면. 시도해보십시오 :

var live_path = require('path'); 
var execPath = live_path.dirname(process.execPath); 

생산 환경과 개발 환경을 구별하기 위해 package.json 파일에서 환경 변수를 설정할 수 있습니다.

"scripts": { 
    "start": "set NODE_ENV=development && nw" 
} 

그리고 코드에서 이와 같은 환경 변수를 검색 할 수 있습니다.

var env = process.env.NODE_ENV || 'production'; 
if (env === 'production') { 
    //production settings 
} else { 
    //development settings 
}