【问题标题】:"Invalid or unexpected token" while deploying to firebase functions部署到 Firebase 功能时出现“无效或意外的令牌”
【发布时间】:2021-01-01 13:07:48
【问题描述】:

我试图将我的 react ssr 部署到 firebase 函数,但出现了这个错误,有人可以帮助我吗?

i  functions: Watching "C:\Users\LucasPereira\Documents\Dev\Site\ProIT\frontend\functions" for Cloud Functions...
!  C:\Users\LucasPereira\Documents\Dev\Site\ProIT\frontend\functions\src\assets\gif_pro_it.gif:1
GIF89a


SyntaxError: Invalid or unexpected token
    at wrapSafe (internal/modules/cjs/loader.js:1167:16)
    at Module._compile (internal/modules/cjs/loader.js:1215:27)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1272:10)
    at Module.load (internal/modules/cjs/loader.js:1100:32)
    at Function.Module._load (internal/modules/cjs/loader.js:962:14)
    at Module.require (internal/modules/cjs/loader.js:1140:19)
    at require (internal/modules/cjs/helpers.js:75:18)
    at Object.<anonymous> (C:\Users\LucasPereira\Documents\Dev\Site\ProIT\frontend\functions\src\pages\Home\index.js:22:42)
    at Module._compile (internal/modules/cjs/loader.js:1251:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1272:10)
!  We were unable to load your functions code. (see above)

这是我的 index.tx(root)

import * as functions from 'firebase-functions';
import React from 'react';
import { renderToString } from 'react-dom/server';
import App from './src/App';

import express from 'express';
import fs from 'fs';

const index = fs.readFileSync(__dirname + '/index.html', 'utf-8');

const app = express();
app.get('**', (req, res)=>{
    const html = renderToString(<App />);
    const finalHtml = index.replace('<div id="root"></div>', `<div id="root">${html}</div>`);
    res.set('Cache-Control', 'public, max-age=600, s-maxage=1200');
    res.send(finalHtml);
})

export let ssrapp = functions.https.onRequest(app);

这是我的 firebase.json

{
  "hosting": {
    "public": "dist",
    "ignore": [
      "firebase.json",
      "**/.*",
      "**/node_modules/**"
    ],
    "rewrites": [
      {
        "source": "**",
        "function": "ssrapp",
        "destination": "/index.html"
      }
    ]
  },
  "functions": {
    "predeploy": {},
    "source": "functions"
  }
}

注意:我使用的是 express 4.17.1 和节点版本 14。 主机工作得很好,只是功能有问题

编辑:我更改“.gif”并继续显示错误,所以我决定删除它,仅用于调试,好吧,错误继续到另一个图像(另一个 PNG),错误似乎在图像中

【问题讨论】:

  • 您好,可以分享一下您的云函数代码吗?
  • 在 Stack Ovetflow 上,问题应该包含足够的信息,以便任何人都可以自己重现错误。仅显示错误消息是不够的。请编辑问题以充分解释您正在使用的内容。阅读可能会有所帮助:stackoverflow.com/help/how-to-ask
  • 帖子更新了,抱歉!
  • 您是在 Windows 上运行它吗?我看到了 gif_pro_it.gif:1GIF89a。冒号 (:) 是文件名的一部分吗?

标签: javascript reactjs firebase express google-cloud-functions


【解决方案1】:

您似乎正尝试在某处导入 *.gif 图像(但不在提供的代码中);默认不支持导入 GIF。

如果我是正确的,那么您需要设置 Webpack(或其替代品)以处理 GIF 文件的导入。

【讨论】:

    猜你喜欢
    • 2019-03-29
    • 2021-05-14
    • 1970-01-01
    • 2019-09-30
    • 1970-01-01
    • 1970-01-01
    • 2022-01-14
    • 2022-01-01
    • 1970-01-01
    相关资源
    最近更新 更多