我正在尝试为 Google Sheet 上的应用程序创建一个附加组件。我的应用程序仍在本地主机上开发。我使用 ngrok 转发 url localhost:3001 并让应用程序在 Apps 脚本中运行,但 index.html 未路由到资产。 任何帮助将不胜感激。
这是代码
function getData() {
const url = "••••••";
const options = {
method: "get",
headers: {
"Content-Type": "application/json",
"ngrok-skip-browser-warning": "true",
},
};
const response = UrlFetchApp.fetch(url, options);
return response.getContentText();
}
function doGet(){
const html = getData();
Logger.log(html);
return HtmlService.createHtmlOutput(html);
}
index.html
<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="theme-color" content="#000000" />
<meta name="description" content="basic gpx/tcx data analysis app" />
<title>mycorr</title>
<script type="module" crossorigin src="/assets/index-CYckigfU.js"></script>
<link rel="modulepreload" crossorigin href="/assets/react-DNzqxdh-.js">
<link rel="modulepreload" crossorigin href="/assets/mui-CYjvO3ta.js">
<link rel="stylesheet" crossorigin href="/assets/react-CM9Skd9z.css">
<link rel="stylesheet" crossorigin href="/assets/index-CP7RGrzZ.css">
</head>
<body>
<noscript>You need to enable JavaScript to run this app.</noscript>
<div id="root"></div>
</body>
</html>
这是因为该网址托管在 Google 的服务器上,并且具有唯一的网址。
href="/assets/react-CM9Skd9z.css"
被解释为
href="https://[id]-script.googleusercontent.com/assets/react-CM9Skd9z.css"
服务器上没有此类文件。考虑使用像 es-build 这样的捆绑器将其全部捆绑到一个文件中,并通过 ngrok 通过
UrlFetchApp
提供服务。