簡體   English   中英

在 Github 頁面上,您可以將 React 應用程序作為單個文件運行,並將其稱為 function。在 Google Cloud Platform 上執行此操作的最佳方法是什么?

[英]On Github Pages you can run a React application as a single file and call it as a function. What's the best way to do that on Google Cloud Platform?

我有一個啟用了頁面的 Github 存儲庫。 在頁面中,我有一個包含 function 的index.js 。當您點擊 HTTP 端點時,function 會自動運行。 該應用程序是一個小部件,所以我不想托管整個網站。 我只是希望能夠從<script>標記中訪問端點並在第三方站點中運行我的代碼。

index.js文件是通過使用 Parcel 構建我的 React 應用程序並將其編譯為單個 js 文件來創建的。 該文件本身運行一個 IIFE - 這是由 Parcel 在構建后創建的,看起來像這樣:

!function(){function e(e,t,n,r){Object.defineProperty...
// hundreds of lines minified into one humongus line of code
...{domElement:e})}),e)})),Er()}();

作為參考,我是按照本教程創建的,您可以在此處的 github 存儲庫中查看作者的腳本。

但是 Github PAges 是公開的,所以我想將我的腳本移動到 GCP。 我以為一個簡單的雲 function 就可以了,但我得到了可怕的could not handle the request錯誤。 對於我的 Cloud Functions 應用程序,我嘗試了以下操作:

exports.helloWorld = (req, res) => {
  const widget = // copy in all of the above code
  res.status(200).send(widget);
}

這引發了上述錯誤。

是否有更好/不同的方式來托管像這樣在 http 調用上運行的單個 function 腳本?

據我了解,您只是想在其他項目可以使用的地方托管一個 javascript 文件。 如果您設置在 Google 雲上,則只需將 javascript 文件上傳到公共存儲桶 除非您想在每次請求文件時執行任何動態邏輯,否則您不需要比 static 主機更復雜的東西。

你提到你想使用 GCP,因為 Github 頁面是公開的,但你托管的任何文件都是公開的,除非你想設置規則,以便只有特定的域可以請求該文件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM