您不能在项目中包含简单的 js 或 css 文件,因此您要做的是创建包含它的 html 文件,并且最好将 <script></script> 或 <style> 放在这些文件中。
因此,您可能有一个文件,该文件名为myscript.js.html
具有以下内容的文件:
<script>
alert ("Hello World!");
</script>
现在您将这一行放在您希望包含资产的 html 中
将其放在要包含资产的 html 中:
<?= HtmlService.createHtmlOutputFromFile('myscript.js').getContent() ?>
请注意,文件名中的“.html”被省略了。
如果您要包含许多资产,那么创建一个辅助函数可能是一个好主意。您可以将以下函数放入您的代码(gs 文件)
function include(filename) {
return HtmlService.createTemplateFromFile(filename).getRawContent();
}
那么上面的行可以改成:
<?!= include('myscript.js') ?>
最后,您还需要调用 HTMLTemplate 的评估()方法,否则<?!= ?>
html 文件中的代码将不会被评估。因此,如果您正在提供这样的 html 文件,例如:
var html=HtmlService.createTemplateFromFile('repeatDialog');
SpreadsheetApp.getUi().showModalDialog(html, 'foo');
您只需将其更改为:
var html=HtmlService.createTemplateFromFile('repeatDialog').evaluate();
SpreadsheetApp.getUi().showModalDialog(html, 'foo');
如果您之前使用的是 createHtmlOutputFromFile 而不是 createTemplateFromFile,那么您应该知道 evaluate() 返回 htmlOutput,所以如果您想知道将 .setWidth() 之类的东西放在哪里,那么它在 evaluate() 调用之后。