을 정의되지 않은 I이 오류 메시지가 건너 온 : 내 지역 환경에중포 기지 NodeJs ReferenceError가 : 가상 개인 서버에 중포 기지 노드 응용 프로그램을 배포하려고 할 때 약속이
/home/.../Backend/node_modules/firebase-admin/lib/firebase-namespace.js:195
this.Promise = Promise;
^
ReferenceError: Promise is not defined
at new FirebaseNamespace (/home/.../Backend/node_modules/firebase-admin/lib/firebase-namespace.js:195:24)
at Object.<anonymous> (/home/.../Backend/node_modules/firebase-admin/lib/default-namespace.js:5:21)
at Module._compile (module.js:456:26)
at Object.Module._extensions..js (module.js:474:10)
at Module.load (module.js:356:32)
at Function.Module._load (module.js:312:12)
at Module.require (module.js:364:17)
at require (module.js:380:17)
at Object.<anonymous> (/home/.../Backend/node_modules/firebase-admin/lib/index.js:4:16)
at Module._compile (module.js:456:26)
을,이 노드 응용 프로그램은 아무 문제없이 실행 . 두 환경 모두 노드, npm 및 "firebase-admin"모듈 버전이 동일합니다.
그래서 나는 here의 제안을 따르고 가상 서버의 "firebase-admin"모듈 파일을 수정했습니다. 일부 모듈 소스 파일에 수동으로 일부를 추가하여
var Promise = require('es6-promise').Promise;
을 추가하면 오류 메시지를 제거 할 수 있습니다. 그 후에는 firebase 데이터베이스에서 아무 것도 읽을 수 없습니다.
하지 않아도, 내 지역 환경에 문제없이 중포 기지의 내용을 읽고 내 코드 섹션
firebaseDatabase.ref("...").once('value').then(function(snapshot){
....
});
는 자사의 "다음"가상 서버에서 호출.
내가 뭘 잘못하고 있니? 모든 제안을 부탁드립니다.
npm 버전 : 3.10.0; 노드 버전 : 7.1.0; v8 버전 : 5.4.500.36; firebase-admin 버전 : 4.0.3; –