我正在从事旧版SilverStripe项目。我正在尝试在主题文件夹中创建一个名为“文件”的公用文件夹。该文件夹中的所有文件都可以通过浏览器访问。
我创建了一个文件夹,并在其中创建了一个文件。
[当我从URL访问文件夹中的文件时,它给我404错误。但是,当我从其他文件夹(如css,字体,img等)访问文件时,它可以正常工作。它不适用于我刚刚创建的“文件”文件夹。我需要配置一些东西吗?
您需要“暴露”项目composer.json
中的文件夹,因此运行composer vendor-expose
将符号链接或将文件复制到公共资源文件夹。
您的composer.json将如下所示:
{
"name": "app/myproject",
"type": "silverstripe-project",
"require": {
"silverstripe/recipe-cms": "4.4.x-dev"
},
"extra": {
"resources-dir": "_resources",
"expose": [
"themes/mytheme/dist",
"themes/mytheme/files"
]
}
}
[在所有名为“ dist”的文件夹中收集所有生成的可公开文件(js,css)的好习惯,这样您就不必分别公开它们。
您可以手动调用composer vendor-expose
(例如,在每次文件更改后在Windows上导致符号链接在Windows下都不起作用,并且在您每次运行composer install
或composer update
时都会自动调用它。