загрузчик и jquery в веб-пакете на бис symfony4 - PullRequest
0 голосов
/ 05 апреля 2019

Я хочу включить bootstrap и jquery в проект symfony 4 с помощью webpackEncore, но я не хочу использовать скрипт cdn, я хочу использовать загруженные файлы ... поэтому после установки на бис на проект, я поместил файлы начальной загрузки и jquery в папку активов, как показано на рисунке ниже: enter image description here

тогда в 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')
    
    // JS
    .addEntry('app', './assets/js/app.js')
    .addEntry('bootstrap_js', './assets/js/bootstrap.js')
    .addEntry('fontawesome_js', './assets/js/fontawesome/fontawesome.js')
    .addEntry('jquery', './assets/js/jquery-3.3.1.js')

    // CSS
    .addStyleEntry('bootstrap_css', './assets/css/bootstrap/bootstrap.css')
    .addStyleEntry('fontawesome_css', './assets/css/fontawesome/fontawesome.css')

    // When enabled, Webpack "splits" your files into smaller pieces for greater optimization.
    .splitEntryChunks()

    // will require an extra script tag for runtime.js
    // but, you probably want this, unless you're building a single-page app
    .enableSingleRuntimeChunk()

    .cleanupOutputBeforeBuild()
    .enableBuildNotifications()
    .enableSourceMaps(!Encore.isProduction())
    // enables hashed filenames (e.g. app.abc123.css)
    .enableVersioning(Encore.isProduction())

    // enables @babel/preset-env polyfills
    .configureBabel(() => {}, {
        useBuiltIns: 'usage',
        corejs: 3
    })
    .autoProvidejQuery()
;

module.exports = Encore.getWebpackConfig();

и вот мой шаблон: enter image description here

но когда я запускаю вызов на бис, происходит сбой, он говорит, что для начальной загрузки отсутствуют необходимые зависимости: enter image description here

Что я должен решить проблему NB: я не хочу использовать cdn для начальной загрузки и jquery ...

Ответы [ 3 ]

0 голосов
/ 05 апреля 2019

Я понял, чтобы решить проблему, я просто устанавливаю jquery и popper.js, используя npm, почему первый не работает, пока я помещаю bootstrap и jquery как enty в webpack.config.js !!!!

Любой может объяснить это !!!

0 голосов
/ 06 апреля 2019

Я полагаю, что вы пропускаете часть пути в обоих случаях - вы должны пойти с

.addEntry('bootstrap_js', './assets/js/bootstrap/bootstrap.js')
.addEntry('jquery', './assets/js/jquery/jquery-3.3.1.js')

Так что в основном добавьте bootstrap / и jquery / соответственно

0 голосов
/ 05 апреля 2019

Похоже, вы загрузили исходный файл из Bootstrap и FontAwesome. Вы должны загрузить скомпилированную минимизированную версию, чтобы все зависимости этих библиотек уже были включены.

Вы должны скачать https://getbootstrap.com/docs/4.3/getting-started/download/#compiled-css-and-js и использовать bootstrap.min.js и bootstrap.min.css

Если у вас также есть проблемы с FontAwesome, процесс должен быть примерно таким же (возьмите скомпилированные уменьшенные версии)

Примечание: вам действительно следует воздерживаться от загрузки файлов напрямую, а вместо этого использовать менеджер пакетов, такой как npm или yarn, чтобы включить ваши зависимости, а затем импортировать их в свои собственные файлы CSS / JS

...