Cloud Functions 배포 오류 : 사용자 코드를로드하는 중에 함수가 실패했습니다. 오류 메시지 : lib / index.js 파일의 코드를로드 할 수 없습니다.

니키타

Angular SSR을 추가하려고하는데 다음과 같은 클라우드 기능을 만들었습니다.

import * as functions from 'firebase-functions';
import * as path from 'path';

const universal = require(path.resolve(__dirname, '../../dist/server/main')).app;

export const ssr = functions.https.onRequest(universal);

package.json

{
  "engines": {
    "node": "8"
  },
  "main": "lib/index.js",
  "dependencies": {
    "@types/jsdom": "^11.0.4",
    "firebase-admin": "^8.10.0",
    "firebase-functions": "^3.6.0",
    "path": "^0.12.7",
  },
  "devDependencies": {
    "typescript": "^3.8.3",
    "firebase-functions-test": "^0.2.1"
  }
}

함수를 빌드 한 다음 배포하면 오류가 발생합니다.

!  functions[ssr(us-central1)]: Deployment error.
Function failed on loading user code. Error message: Code in file lib/index.js can't be loaded.
Did you list all required modules in the package.json dependencies?
Detailed stack trace: Error: Cannot find module '/dist/server/main'
    at Function.Module._resolveFilename (module.js:548:15)
    at Function.Module._load (module.js:475:25)
    at Module.require (module.js:597:17)
    at require (internal/module.js:11:18)
    at Object.<anonymous> (/srv/lib/ssr.js:5:19)
    at Module._compile (module.js:653:30)
    at Object.Module._extensions..js (module.js:664:10)
    at Module.load (module.js:566:32)
    at tryModuleLoad (module.js:506:12)
    at Function.Module._load (module.js:498:3)

내 폴더 구조는 다음과 같습니다.

dist
 |-server
 |-browser
functions
 |-lib

어떻게 고칠 수 있습니까?

더그 스티븐슨

귀하의 코드가 "functions"폴더 외부의 파일에 액세스하려고하는 것 같습니다. 즉, "../../dist/server/main"이 해당 폴더의 경계 외부에 도달하고 있습니다. 함수 폴더의 콘텐츠 만 Firebase CLI에 의해 배포됩니다. 그 밖의 모든 것은 배포 후 함수에서 액세스 할 수 없습니다. 해당 콘텐츠를 사용하려면 거기에 복사해야합니다. 그리고 예, 프런트 엔드와 백엔드 모두에서 사용하는 경우 해당 파일을 복제해야 할 수도 있습니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

Related 관련 기사

뜨겁다태그

보관