Прямой файл 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>
Другие вопросы по тегам