Я строю проект с Symfony4 и VueJs, размещенный на сервере nginx и работающий с Docker.Мои шаблоны в порядке, но файлы CSS и JS находятся в 404.
Вот моя конфигурация nginx:
server {
listen 80;
listen [::]:80;
server_name symfony.local;
root /var/www/myproject/public;
location / {
try_files $uri /index.php$is_args$args;
}
location ~ ^/(index)\.php(/|$) {
fastcgi_pass php:9000;
fastcgi_split_path_info ^(.+\.php)(/.*)$;
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_param HTTPS off;
internal;
}
location ~ \.php$ {
return 404;
}
error_log /var/log/nginx/symfony_error.log;
access_log /var/log/nginx/symfony_access.log;
}
Я настроил свой файл веб-пакета:
var Encore = require('@symfony/webpack-encore');
Encore
.setOutputPath('public/build/')
.setPublicPath('/build')
.cleanupOutputBeforeBuild()
.enableSourceMaps(!Encore.isProduction())
.addEntry('app', './assets/js/app.js')
.enableBuildNotifications()
.enableSassLoader()
.enableVueLoader();
;
module.exports = Encore.getWebpackConfig();
Css иФайлы JS находятся в каталоге assets\js\*
и assets\css\*
, и когда я компилирую с yarn encore dev
, мои собранные файлы находятся в public\build\app.js
и public\build\app.css
В шаблоне base.html.twig:
{% block stylesheets %}
{{ encore_entry_link_tags('app') }}
{% endblock %}
И
{% block javascripts %}
{{ encore_entry_script_tags('app') }}
{% endblock %}
Файлы также скомпилированы, но у меня ошибка 404 для app.js и app.css.Я сделал, как это объяснено в https://symfony.com/doc/current/frontend.html Так что я не понимаю, чего не хватает.
Спасибо :))