Прямой файл app.js на бис не найден на реальном сервере
Мой app.js хорошо работает локально, но я получаю 404 не найден при запуске на веб-сайте. Файл компилируется в папку /web/js.
{% block javascripts %}
<script src="{{ asset('js/runtime.js')}}"></script>
<script src="{{ asset('js/app.js')}}"></script>
{% endblock %}
рамки для заметок Symfony 2.8
webpack.config.js выглядит так, не уверен, должен ли путь setPublic быть таким, как показано ниже, или где-то еще..
var Encore = require('@symfony/webpack-encore');
Encore
// directory where compiled assets will be stored
.setOutputPath('web/js/')
// public path used by the web server to access the output path
.setPublicPath('/js')
/*
* ENTRY CONFIG
*
* Add 1 entry for each "page" of your app
* (including one that's included on every page - e.g. "app")
*
* Each entry will result in one JavaScript file (e.g. app.js)
* and one CSS file (e.g. app.css) if you JavaScript imports CSS.
*/
.addEntry('app', './app/Resources/assets/js/app.js')
.cleanupOutputBeforeBuild()
.enableSourceMaps(!Encore.isProduction())
.autoProvidejQuery()
module.exports = Encore.getWebpackConfig();
Требуется ли runtime.js, и кажется, что он необходим локально, но не уверен в использовании
1 ответ
Просто поместите ваши файлы активов в веб-папку. asic webpack.config.js должен выглядеть так:
var Encore = require('@symfony/webpack-encore');
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')
.addEntry('app', './assets/js/app.js');
Затем для создания ресурсов выполните эту команду:
yarn encore dev
После успешной компиляции вы можете использовать свои собранные ресурсы в шаблоне ветки.
<script src="{{ asset('build/app.js') }}"></script>