Symfony Webpack: не удалось найти файл точек входа в Webpack

Относительно свежий проект Symfony 4.1.7 после установки Webpack Encore выдает ошибку

An exception has been thrown during the rendering of a template ("Could not find the entrypoints file from Webpack: the file ".../public/build/entrypoints.json" does not exist.")

где шаблон включает {{ encore_entry_link_tags('app') }} при запуске http://127.0.0.1:8000/

Что я пропустил?

$ yarn encore dev
Running webpack ...

 DONE  Compiled successfully in 1974ms

 I  3 files written to public\build
Done in 3.33s.

.../public/build содержит

app.css
app.js
manifest.json

локальные версии Symfony:

symfony/webpack-encore-bundle       v1.0.0
symfony/webpack-encore-pack         v1.0.3

webpack.config.js:

var Encore = require('@symfony/webpack-encore');

Encore
    // the project directory where compiled assets will be stored
    .setOutputPath('public/build/')
    // the public path used by the web server to access the previous directory
    .setPublicPath('/build')
    .cleanupOutputBeforeBuild()
    .enableSourceMaps(!Encore.isProduction())
    // uncomment to create hashed filenames (e.g. app.abc123.css)
    // .enableVersioning(Encore.isProduction())

    // uncomment to define the assets of the project
    .addEntry('app', './assets/js/app.js')
//     .addEntry('js/app', './assets/js/app.js')
//     .addStyleEntry('css/app')
//     .addStyleEntry('css/app', './assets/css/app.scss')

    // uncomment if you use Sass/SCSS files
    // .enableSassLoader()

    // uncomment for legacy applications that require $/jQuery as a global variable
     .autoProvidejQuery()
;

module.exports = Encore.getWebpackConfig();
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
10
0
20 336
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Обновите ограничение версии в package.json для @ symfony / webpack-encore до ^ 0.21.0

...
"devDependencies": {
    "@symfony/webpack-encore": "^0.21.0",
...

добавьте .enableSingleRuntimeChunk () в свой webpack.config.js

...
.addEntry('app', './assets/js/app.js')
//     .addEntry('js/app', './assets/js/app.js')
//     .addStyleEntry('css/app')
//     .addStyleEntry('css/app', './assets/css/app.scss')
.enableSingleRuntimeChunk()
...

Затем запустите обновление пряжи или установку пряжи.

PS: Если у вас установлен symfony / webpack-encore-bundle, вы можете удалить symfony / webpack-encore-pack

composer remove symfony/webpack-encore-pack

Большое спасибо! Я заметил, что ваше редактирование re: .enableSingleRuntimeChunk() удалило некоторые уведомления об устаревании. Все (вроде бы?) Хорошо.

geoB 22.11.2018 19:52

@geoB Все хорошо. Спасибо.

David Liebenow 22.11.2018 20:16

Если кто-то сталкивается с аналогичной проблемой на промежуточных или производственных серверах: убедитесь, что сборка актива запущена в процессе развертывания. Например, на Heroku вам нужно использовать сценарий постустановки.

{
    "devDependencies": {
        "@fortawesome/fontawesome-free": "^5.5.0",
        "@symfony/webpack-encore": "^0.22.0",
        "webpack-notifier": "^1.6.0"
    },
    "license": "UNLICENSED",
    "private": true,
    "scripts": {
        "dev-server": "encore dev-server",
        "dev": "encore dev",
        "watch": "encore dev --watch",
        "postinstall": "encore production --progress" // executed during deployment to Heroku
    },
    "dependencies": {
        "bootstrap": "^4.1.3",
        "fontawesome": "^4.7.2",
        "jquery": "^3.3.1",
        "node-sass": "^4.10.0",
        "popper.js": "^1.14.6",
        "sass-loader": "^7.1.0"
    }
}

Другие вопросы по теме