gpt4 book ai didi

javascript - 如何在 G Suite 附加组件的服务器和客户端组件中重复使用单个 JavaScript?

转载 作者:行者123 更新时间:2023-11-28 03:16:35 24 4
gpt4 key购买 nike

我有一个 JavaScript 文件,它是一个生成的解析器(我们称之为 MyParser ),我在 Google 表单的插件中使用它。

需要在客户端的Sidebar.html使用我将其包含在 HtmlService.createHtmlOutputFromFile('MyParser.js').getContent(); 中,这意味着它必须是 .html据我了解,文件。然后它必须在服务器端使用,我将它放在文件 MyParser.js.gs 中.

使用我当前的解决方案,它在我的文件结构中重复:

Code.gs
MyParser.js.gs
MyParser.js.html
Sidebar.html

有没有办法可以在没有两个文件的情况下完成这项工作? 编辑:据我了解,libraries仅适用于服务器端。

如果没有,有什么提示可以使这两个文件的更新更加稳健(目前是手动复制/粘贴)吗?

编辑:根据best practices ,必须将 JavaScript 封装在 <script>.html 内的标签文件:

Notice that the included files contain <style> and <script> tags because they're HTML snippets and not pure .css or .js files.

看来只有一个文件并不容易。

最佳答案

据我所知,没有办法重复使用单个文件并尊重 Google 的最佳实践。

按照@tehhowch的建议,我的解决方案是使用 @google/clasp并进行本地开发。

为了构建解析器(在另一个 GitHub 项目中),我使用 npm-run-script 。所以,我只是附加了一个 && bash makeHTML.shbuild脚本。

内部makeHTML.sh我包裹了构建的MyParser.js文件在 <script>标记为:

#!/usr/bin/env bash
{ echo "<script>"; cat MyParser.js; echo "</script>"; } > MyParser.js.html

因为我正在使用bash这不是真的node.js解决方案(除非安装了 bash,否则不会运行)。如果有人知道更好的方法来完成 100% 节点的包装,并且不需要安装一大堆其他模块,请随意编辑答案。

关于javascript - 如何在 G Suite 附加组件的服务器和客户端组件中重复使用单个 JavaScript?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59593050/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com