Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js Firebase函数:上载错误:HTTP错误:400,未知错误_Node.js_Angular_Firebase_Express_Google Cloud Functions - Fatal编程技术网

Node.js Firebase函数:上载错误:HTTP错误:400,未知错误

Node.js Firebase函数:上载错误:HTTP错误:400,未知错误,node.js,angular,firebase,express,google-cloud-functions,Node.js,Angular,Firebase,Express,Google Cloud Functions,我试图将Angular Universal SSR应用程序的服务器端部署到Firebase函数,但遇到错误上传错误:HTTP错误:400,未知错误 据我所知,当部署是一个巨大的文件(在我的例子中是438mb)时,这个错误经常发生。它之所以如此庞大,是因为我正在部署网站的本地化版本,所以dist/browser和dist/server都有en、de和fr目录,内容几乎相同。我如何解决这个问题 控制台输出 index.js proxy.ts(编译成js并放入dist/server文件夹) 我减小了部

我试图将Angular Universal SSR应用程序的服务器端部署到Firebase函数,但遇到错误
上传错误:HTTP错误:400,未知错误

据我所知,当部署是一个巨大的文件(在我的例子中是438mb)时,这个错误经常发生。它之所以如此庞大,是因为我正在部署网站的本地化版本,所以
dist/browser
dist/server
都有
en
de
fr
目录,内容几乎相同。我如何解决这个问题

控制台输出 index.js proxy.ts(编译成js并放入dist/server文件夹)
我减小了部署的规模,它立即解决了这个问题。我想说的是,您只需要优化您拥有的文件,或者考虑将一些文件存储在firebase函数codebase以外的其他位置(可能是firebase存储)

请确保您安装了最新的CLI和Firebase函数版本,并尝试在deploy命令上添加一个
--debug
标志,以便我们了解部署失败的原因,然后使用相关日志编辑文章。在我的例子中,我意外地在
functions
目录中添加了一个大媒体文件,增加代码基大小。
=== Deploying to 'PROJECT_NAME'...

i  deploying functions
Running command: npm --prefix "$RESOURCE_DIR" run lint
+  functions: Finished running predeploy script.
i  functions: ensuring required API cloudfunctions.googleapis.com is enabled...
i  functions: ensuring required API cloudbuild.googleapis.com is enabled...
+  functions: required API cloudfunctions.googleapis.com is enabled
i  functions: preparing dist directory for uploading...
i  functions: packaged dist (438.04 MB) for uploading
!  functions: Upload Error: HTTP Error: 400, Unknown Error

Error: HTTP Error: 400, Unknown Error
const functions = require('firebase-functions');

// Increase readability in Cloud Logging
require("firebase-functions/lib/logger/compat");

const expressApp = require('./server/proxy').app();

exports.ssr = functions
  .region('us-central1')
  .runWith({})
  .https
  .onRequest(expressApp);
import * as express from 'express';
import * as cookieParser from 'cookie-parser';
import { join } from 'path';

export function app() {
  const server = express();

  server.use(cookieParser());

  const languages = ['en', 'de', 'fr'];

  languages.forEach((locale) => {
    const appServerModule = require(join(__dirname, locale, 'main.js'));
    server.use(`/${locale}`, appServerModule.app(locale));
  });

  server.get('/(:locale(en|fr|de)/)?*', (req, res, next) => {
    const { locale } = req.params;
    let userLocale = (req.headers['accept-language'] || '').substring(0, 2);

    if(!languages.includes(userLocale)) {
      userLocale = 'en';
    }

    if (locale !== userLocale) {
      res.redirect(userLocale + req.url);
    }
  });

  return server;
}

function run() {
  app().listen(4200, () => {
    console.log(`Node Express server listening on http://localhost:4200`);
  });
}

run();