本指南帮助您了解 Frappe Framework 中静态资源的提供方式。
assets 文件夹
静态文件从 frappe-bench/sites/assets 文件夹中提供。当您
为生产环境部署 Frappe 时,nginx 会直接提供该文件夹的内容。所有
静态文件的 URL 始终以 /assets 开头。位于frappe-bench/sites/assets/hero.png 的文件可以通过 URL/assets/hero.png 公开访问。
public 文件夹
每个应用都有自己的 public 文件夹,用于提供静态资源。
该文件夹会通过符号链接到 frappe-bench/sites/assets/[appname]。以下是
在 assets 文件夹上执行 tree 命令的输出结果。
~/frappe-bench
$ tree sites/assets -L 1
sites/assets
├── erpnext -> ~/frappe-bench/apps/erpnext/erpnext/public
└── frappe -> ~/frappe-bench/apps/frappe/frappe/public
这意味着,如果 [appname]/public/images/favicon.png 处存在文件,那么它
也会以符号链接的形式存在于 assets/[appname]/images/favicon.png,并且
可以通过 URL /assets/[appname]/images/favicon.png 公开访问。
打包资源
打包资源生成于assets/[appname]/dist/js 和 assets/[appname]/dist/css。因此,它们
可以通过 URL /assets/[appname]/dist/js/main.bundle.[hash].js 访问。
站点资源
除了应用提供的静态文件外,每个站点还可以拥有自己的静态
文件,这些文件可能来自用户上传或站点备份。
用户上传
用户上传的公开文件存储在frappe-bench/sites/[sitename]/public/files。存储在frappe-bench/sites/[sitename]/public/files/profile.png 的文件可以通过
URL /files/profile.png 公开访问。
用户上传的私有文件存储在frappe-bench/sites/[sitename]/private/files。存储在frappe-bench/sites/[sitename]/private/files/profile.png 的文件可以通过
URL /private/files/profile.png 访问。私有文件仅在
用户获得授权后才能查看。
备份
为站点生成的任何本地备份都存储为frappe-bench/sites/[sitename]/private/backups/20210502_182223-[sitename]-database.sql.gz。
它可以通过 URL/backups/20210502_182223-[sitename]-database.sql.gz 访问,并且仅当用户
获得授权后才能下载。
以下是 ls 命令的输出结果:
~/frappe-bench
$ ls -l sites/site1.test/private/backups
total 6160
-rw-r--r-- 1 farisansari staff 2429268 May 2 18:22 20210502_182223-site1_test-database.sql.gz
-rw-r--r-- 1 farisansari staff 278 May 2 18:22 20210502_182223-site1_test-site_config_backup.json