Symfony Webpack: не удалось найти файл точек входа из Webpack - PullRequest
0 голосов
/ 22 ноября 2018

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

Возникла исключительная ситуация при рендеринге шаблона ("Не удалось найти файл точек входа из Webpack:файл "... / public / build / entrypoints.json" не существует. ")

, где шаблон включает {{ 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();

Ответы [ 2 ]

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

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

{
    "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"
    }
}
0 голосов
/ 22 ноября 2018

Обновите ограничение версии в 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...