firebase 托管脚本路径不相对于当前子文件夹路径
firebase hosting script path not relative to current sub folder path
Bellow 是我在 firebase 上托管的 public 文件夹结构。
当我转到此 url 路径时 http://.../dist/app.html 加载 app.html 但加载脚本 none。加载脚本的唯一方法是将 'dist' 添加到脚本路径,如图所示(为其提供脚本的完整路径,而不是当前文件夹的相对路径)
如果我在本地计算机上打开 app.html,它不会加载脚本,因为 'dist/[scriptNameHere].js' 个文件不存在。
那么为什么托管 public 文件夹需要文件的完整路径?
我想相对于当前路径导入我的脚本
<script type="text/javascript" src="inline.bundle.js"></script> etc
Firebase 托管将部署与 firebase.json
的 hosting
配置中指定的 public
目录相关的所有内容。如果您正在构建单页应用程序,您很可能希望使用绝对 URL 来引用包,例如 /inline.bundle.js
。
要检查部署后的工作情况,您应该在项目目录中使用 firebase serve
。这将启动一个本地服务器,它的行为应该与部署的版本一样——您可以在那里测试并在它们看起来不错时部署。
嗯,它就在我面前。
在您的 index.html 中,将 <base href="/">
更改为您希望路径解析起始的路径
Bellow 是我在 firebase 上托管的 public 文件夹结构。
当我转到此 url 路径时 http://.../dist/app.html 加载 app.html 但加载脚本 none。加载脚本的唯一方法是将 'dist' 添加到脚本路径,如图所示(为其提供脚本的完整路径,而不是当前文件夹的相对路径)
如果我在本地计算机上打开 app.html,它不会加载脚本,因为 'dist/[scriptNameHere].js' 个文件不存在。
那么为什么托管 public 文件夹需要文件的完整路径?
我想相对于当前路径导入我的脚本
<script type="text/javascript" src="inline.bundle.js"></script> etc
Firebase 托管将部署与 firebase.json
的 hosting
配置中指定的 public
目录相关的所有内容。如果您正在构建单页应用程序,您很可能希望使用绝对 URL 来引用包,例如 /inline.bundle.js
。
要检查部署后的工作情况,您应该在项目目录中使用 firebase serve
。这将启动一个本地服务器,它的行为应该与部署的版本一样——您可以在那里测试并在它们看起来不错时部署。
嗯,它就在我面前。
在您的 index.html 中,将 <base href="/">
更改为您希望路径解析起始的路径