Прямой файл app.js на бис не найден на реальном сервере - PullRequest
0 голосов
/ 04 декабря 2018

Мой 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 Ответ

0 голосов
/ 04 декабря 2018

Просто поместите ваши файлы активов в веб-папку.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>
...