# 静态资产
理解Frappe框架中静态资产如何提供服务的指南。
# 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]。这里是tree命令在assets文件夹上的输出。
~/frappe-bench
$ tree sites/assets -L 1
sites/assets
├── erpnext -> ~/frappe-bench/apps/erpnext/erpnext/public
└── frappe -> ~/frappe-bench/apps/frappe/frappe/public
2
3
4
5
6
这意味着如果在[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
总计 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
2
3
4
5
6