# 静态资产

理解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

1
2
3
4
5
6

这意味着如果在[appname]/public/images/favicon.png有一个文件,那么它也作为符号链接存在于assets/[appname]/images/favicon.png,并且可以通过URL/assets/[appname]/images/favicon.png公开访问。

# 打包资产

打包资产生成在assets/[appname]/dist/jsassets/[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

1
2
3
4
5
6
最后更新时间: 9/27/2024, 3:24:28 PM