Rspeedy 支持使用包括图片、字体、音频和视频等多种静态资源。
静态资源是指 Web 应用中不会发生变化的文件。常见的静态资源包括图片、字体、视频、样式表和 JavaScript 文件。这些资源通常存储在服务器或 CDN 上,当用户访问 Web 应用时会被传送到用户的浏览器。由于它们不会发生变化,静态资源可以被浏览器缓存,从而提高 Web 应用的性能。
你可以直接在 JavaScript 中导入静态资源:
导入的结果将是表示静态资源的 URL 字符串,并且该资源会被输出到输出文件夹。
也可以在 CSS 文件中使用静态资源:
导入资源后返回的 URL 会自动包含路径前缀:
dev.assetPrefix 来指定路径前缀。output.assetPrefix 来指定路径前缀。例如,将 output.assetPrefix 设置为 https://example.com:
项目根目录下的 public 文件夹可以用来放置一些静态资源。这些资源不会被 Rspeedy 打包。
/ 根路径下。在 JavaScript 代码中,你可以通过 process.env.ASSET_PREFIX 拼接这些资源的 URL:
public 目录下的文件,正确的方式是通过 URL 引用。public 目录中的资源时,请使用绝对路径,而不是相对路径。public 目录中的文件将会被拷贝到构建产物目录(默认为 dist)下,请注意不要和产物文件出现名称冲突。当 public 下的文件和产物重名时,构建产物具有更高的优先级,会覆盖 public 下的同名文件。当你在 TypeScript 代码中引用静态资源时,TypeScript 可能会提示该模块缺少类型定义:
此时你需要为静态资源添加类型声明文件,请在项目中创建 src/rspeedy-env.d.ts 文件,并添加相应的类型声明。
create-rspeedy will automatically create this file for you.