【问题标题】:Loading css according to dev or prod environment根据 dev 或 prod 环境加载 css
【发布时间】:2018-05-14 12:48:47
【问题描述】:

配置: Symfony 3.4 - Webpack Encore

在实践中,我需要根据开发、测试或生产环境在 body 上使用不同的背景颜色。

我知道我可以在 twig 中做这样的事情:

{{ app.environment }}

但我不确定这是一个好习惯!

有没有办法通过我的 yaml 配置(config_dev.yml、config_test.yml、config_prod.yml)来做到这一点?

或者通过我的 webpack.config.js 来做到这一点?

【问题讨论】:

    标签: symfony webpack


    【解决方案1】:

    在我看来,使用当前环境作为 body CSS 类并没有错。即

    <body class="{{ app.environment }}">
    

    然后你甚至不必加载不同的 CSS 样式表,你只需要在同一个 CSS 中定义不同的类,例如

    body.prod {background-color: white}
    body.dev {background-color: lightyellow}
    body.test {background-color: lightgreen}
    ...
    

    【讨论】:

    • 这看起来像我的第一个想法,但没有任何“如果”。所以更好。谢谢
    • 哎呀,很抱歉最初的错字,感谢您编辑它。
    【解决方案2】:

    我在 Webpack 的文档中发现:https://symfony.com/doc/3.4/frontend/encore/advanced-config.html#defining-multiple-webpack-configurations

    这是你要找的吗?根据您的环境更改样式表?您所要做的就是为您的不同环境配置所需的样式表,并使用正确的配置启动 webpack 编译器。

    【讨论】:

    • 看起来不错但是如果我这样做,我必须在终端构建命令中添加参数(--config-name)。我不确定是否想要这个(这意味着每个环境都有一个命令。要记住和寻找可能的错误太多了。
    猜你喜欢
    • 2022-06-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-29
    • 2019-07-31
    • 2021-06-18
    相关资源
    最近更新 更多