Хорошо, я нахожу решение! Вот подробности, которые помогут вам, если вам это нужно.
В базе. html .twig
{% block stylesheets %}
<link rel="stylesheet" href="{{ asset('build/app.css') }}">
{% endblock %}
Затем я ставлю в конце тег script
{% block javascripts %}
{{ encore_entry_script_tags('app') }}
{% endblock %}
В .htaccess
DirectoryIndex index.php
<IfModule mod_negotiation.c>
Options -MultiViews
</IfModule>
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteCond %{REQUEST_URI}::$0 ^(/.+)/(.*)::\2$
RewriteRule .* - [E=BASE:%1]
RewriteCond %{HTTP:Authorization} .+
RewriteRule ^ - [E=HTTP_AUTHORIZATION:%0]
RewriteCond %{ENV:REDIRECT_STATUS} =""
RewriteRule ^index\.php(?:/(.*)|$) %{ENV:BASE}/$1 [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule ^ %{ENV:BASE}/index.php [L]
</IfModule>
<IfModule !mod_rewrite.c>
<IfModule mod_alias.c>
RedirectMatch 307 ^/$ /index.php/
</IfModule>
</IfModule>
В приложении. js Я добавил эту строку:
require('../css/app.scss');
В webpack.config. js:
Encore
// directory where compiled assets will be stored
.setOutputPath("public/build/")
// public path used by the web server to access the output path
.setPublicPath("/build")
// only needed for CDN's or sub-directory deploy
//.setManifestKeyPrefix('build/')
.copyFiles({
from: './assets/images'
})
.addEntry("app", "./assets/js/app.js")
В пакете. json Я добавил эту строку в:
"scripts": {
"postinstall": "encore production --progress"
},
В Procfile только эта строка
web: $(composer config bin-dir)/heroku-php-apache2 public/
И, наконец, в Heroku> Настройки> Config Vars
- NODE_MODULES_CACHE = false
- NPM_CONFIG_PRODUCTION = false
- YARN_PRODUCTION = false
Heroku> Настройки> Buildpack
- heroku / nodejs
- heroku / php
Вот ссылка, которую я использовал, чтобы помочь мне снова