Symfony 4 - Webpack Encore bootstrap css 不在输出中

2024-02-29

我正在尝试将 Webpack Encore 引入我的 Symfony 4 应用程序来管理 JS 和 CSS 资产。

我安装了yarn and nodejs.

Then composer require encore进而yarn install.

我有app.js文件输入assets/js/.

/*
 * Welcome to your app's main JavaScript file!
 *
 * We recommend including the built version of this JavaScript file
 * (and its CSS file) in your base layout (base.html.twig).
 */

// any CSS you require will output into a single css file (app.css in this case)
require('bootstrap');
require('../css/app.css');

// Need jQuery? Install it with "yarn add jquery", then uncomment to require it.
const $ = require('jquery');

console.log('Hello Webpack Encore! Edit me in assets/js/app.js');

使用yarn安装引导程序和其他依赖项:

{
    "devDependencies": {
        "@symfony/webpack-encore": "^0.22.0",
        "bootstrap": "^4.3.1",
        "jquery": "^3.3.1",
        "popper.js": "^1.14.7",
        "webpack-notifier": "^1.6.0"
    },
    "license": "UNLICENSED",
    "private": true,
    "scripts": {
        "dev-server": "encore dev-server",
        "dev": "encore dev",
        "watch": "encore dev --watch",
        "build": "encore production --progress"
    }
}

然后运行yarn encore dev --watch

Problem

我的系统中没有任何 bootstrap csspublic/build/app.css.

我还需要什么吗?require('bootstrap'); in webpack.config.js?


根据文档webpack encore 中的引导程序 https://symfony.com/doc/current/frontend/encore/bootstrap.html

在 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')
    // only needed for CDN's or sub-directory deploy
    //.setManifestKeyPrefix('build/')

    /*
     * 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', './assets/js/app.js')

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

    /*
     * FEATURE CONFIG
     *
     * Enable & configure other features below. For a full
     * list of features, see:
     * https://symfony.com/doc/current/frontend.html#adding-more-features
     */
    .cleanupOutputBeforeBuild()
    .enableBuildNotifications()
    .enableSourceMaps(!Encore.isProduction())
    // enables hashed filenames (e.g. app.abc123.css)
    .enableVersioning(Encore.isProduction())

    // enables Sass/SCSS support
    // .enableSassLoader()

    // uncomment if you use TypeScript
    //.enableTypeScriptLoader()

    // uncomment if you're having problems with a jQuery plugin
    .autoProvidejQuery()

    // uncomment if you use API Platform Admin (composer req api-admin)
    //.enableReactPreset()
    //.addEntry('admin', './assets/js/admin.js')
;

module.exports = Encore.getWebpackConfig();

然后使用以下命令安装 jquery、popper.js、bootstrap、font-awesome(如果您正在使用 npm 并且需要 font-awesome):

npm install jquery --save-dev
npm install popper.js --save-dev
npm install bootstrap@4 --save-dev
npm install font-awesome --save-dev

在 app.js 中,您可以:

/*
 * Welcome to your app's main JavaScript file!
 *
 * We recommend including the built version of this JavaScript file
 * (and its CSS file) in your base layout (base.html.twig).
 */

// any CSS you require will output into a single css file (app.css in this case)
require('../css/app.css');

// Need jQuery? Install it with "yarn add jquery", then uncomment to require it.
const $ = require('jquery');
import 'popper.js';
import 'bootstrap';
import 'bootstrap/dist/css/bootstrap.css';
import 'font-awesome/css/font-awesome.css';

$(document).ready(function(){
    // Put your jquery code here.
});

在您的模板中,您可以执行以下操作:

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>title</title>
        {{ encore_entry_link_tags('app') }}  
    </head>
    <body>
         <div id="content_container"></div>

         {% block lib_javascripts %}
              {{ encore_entry_script_tags('app') }}
         {% endblock %}
         {% block javascripts %}{% endblock %}
    </body>
</html>                

您可以构建并观看。在您的项目目录中,您可以执行以下操作:

./node_modules/.bin/encore dev --watch
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Symfony 4 - Webpack Encore bootstrap css 不在输出中 的相关文章

随机推荐

  • MSBuild 运行单元测试

    我正在尝试配置 CruiseControl net 以定期构建我们的存储库代码并运行解决方案中包含的测试 我已经配置了从 svn 服务器和构建部分检索代码 但我无法对其进行测试 MSBuild 一直在抱怨这一点 错误 MSB4057 目标
  • 读取特定 Parquet 列时,将读取所有列而不是 Parquet-Sql 中给出的单个列

    我在 Parquet Documentation 中读到 只有我查询的列 才会读取并处理该列的数据 但是当我看到 Spark UI 时 我发现完整的文件已被读取 以下是编写 parquet 文件并在 Spark Sql 中读取的代码 obj
  • 具有多索引的 df.at 与 df.loc

    我有一个关于之间差异的问题df loc and df at关于具有多重索引的数据帧 我一直在 stackoverflow 上查看一些精彩的资源 但它似乎并没有阐明我的问题 尤其是这个 熊猫 at 与 loc https stackoverf
  • libcurl 中是否有可用的压缩

    我需要使用 libcurl 和 C 将一个大文件从本地计算机传输到远程计算机 libcurl 是否有内置可用的压缩选项 由于要传输的数据很大 大小为 100 MB 到 1 GB 如果 libcurl 本身提供此类选项会更好 我知道我们可以压
  • 如何在 Python/ElementTree 中输出 XML 声明

    我正在尝试为 XML 格式的单词参考源文件创建一个 XML 文件 当我写入文件时 仅显示 xml decation True 但我想要它的形式 from xml etree ElementTree import ElementTree fr
  • PHP 如果“id”为 null 则移动到 url

    需要以下代码的帮助 我有一个提供 id 的表单 提交时下一个脚本从数据库获取数据 如果由于某种原因 id 为零 我如何将网址转发到我的 404 页面 Code id GET id include dbconnection php inclu
  • C++ 结构“placement new”有什么用途?

    我刚刚了解了名为 placement new 的 C 结构 它允许您精确控制指针在内存中指向的位置 它看起来像这样 include
  • EF插入多个相关表

    我正在尝试使用 Linq Entity Framework 将数据从 C 应用程序保存到数据库中 插入到单个表很简单 但我不知道如何将数据插入到三个表中 这三个表都通过自增标识互连 这是为了刮擦 所以我正在拿一个线程及其所有帖子 每个话题标
  • HtmlButton 处理程序在单击时触发两次(当 AutoEventWireup="True" 时)

    我有一个 html 按钮 见下文 当单击并且 AutoEventWireup true 时 Save Click 单击处理程序将被触发两次 当 AutoEventWireup False 时 它会触发一次 为什么会发射两次 该按钮没有注册两
  • JS 编译过程中的参考错误与语法错误

    我正在对解释与编译进行一些研究 成立本文 https almogad medium com javascript is it compiled or interpreted 9779278468fc其中指出 console log Hell
  • 请求模块抛出 OpenSSL.SSL.Error

    我正在使用来自的 REST API泛欧交易所网站 http www euronext com 要进一步 我需要验证服务器证书并通过模块请求发送我自己的客户端证书 我已经用curl做了一些测试 crt pem文件都被接受了 但请求仍然抛出 D
  • QTextDocument、QPdfWriter - 如何缩放输出

    我创建了一个QTextDocument里面有一张桌子 现在我尝试使用将其渲染为 PDF 格式QPdfWriter Qt 5 2 1 我就是这样做的 QPdfWriter pdfWriter output QPainter painter p
  • 为什么这段代码可以在 Python 3.6 上运行,但不能在 Python 3.7 上运行?

    In script py def f n memo 0 0 1 1 if n not in memo memo n sum f n i for i in 1 2 return memo n print f 400 python3 6 scr
  • 有没有办法检查本机 Javascript 函数是否经过猴子修补?

    例如 我在某个网站上加载了一个脚本 我想知道 JSON parse stringify 是否没有经过猴子修补 我注意到如果我在 Chrome FF 中的函数上使用 toString JSON stringify toString 然后我回来
  • 在 coefplot 中仅绘制交互项

    在 Stata 中进行回归后 我尝试仅绘制交互项的系数 我无法使用社区贡献的命令coefplot 这是一个可重现的示例和我尝试的解决方案 sysuse auto clear reg price foreign i turn foreign
  • 是否可以在 gcc pure C 中取消 const typeof ?

    我有一个宏 它使用 GCC 的 typeof 创建与宏参数相同类型的变量 问题是 如果这个论点有const类型 在宏内部创建的变量是const我无法使用它 例如 include
  • Extjs 4:创建 iFrame 窗口

    我需要在 Extjs 中创建一个 iFrame 窗口 以前在 ExtJS 3 x 中我会这样做 bodyCfg tag iframe But the WindowExtJS 4 的类似乎没有 bodyCfg 关于如何制作 iFrame Ex
  • 为什么我收到有关 cudaMemcpyToArray(...) 已弃用的警告?

    这个警告是什么 我该如何解决它 warning cudaError t cudaMemcpyToArray cudaArray t size t size t const void size t cudaMemcpyKind is depr
  • R:填充时间序列值,但仅在过去 12 个月内

    我们如何在 R 中填充 转发时间序列 但前提是最后一个值在过去 12 个月内 观察 否则不适用 样本数据 变量是原始数据 期望的是期望的结果 我们从 2016 年 6 月开始观察 NA 但我们会向前推进 我只想这样做 12 个月 所以一旦我
  • Symfony 4 - Webpack Encore bootstrap css 不在输出中

    我正在尝试将 Webpack Encore 引入我的 Symfony 4 应用程序来管理 JS 和 CSS 资产 我安装了yarn and nodejs Then composer require encore进而yarn install