当前位置: 首页 > 知识库问答 >
问题:

symfony2捆绑式资产管理

严成礼
2023-03-14

目前我有一个全球资产。yml文件,我在项目中定义我的资产,并在整个应用程序中使用它们。我有几个bundle,它们的所有资产都在这个全局资产中定义。yml不清晰且不好。

我想定义一个资产。yml,每个捆绑包都有相应的资产。它们将位于bundle配置中。

我不知道如何使它们可用于整个应用程序。我应该以某种方式使用导入还是框架加载文件(哪个名称遵循某些约定)?我将不胜感激如何实现上述提示。

编辑:我应该多解释一点...在我的config.yml我导入assets.yml作为资源:

imports:
    - { resource: assets.yml } 

以及资产。yml如下所示:

assetic:

  use_controller: false

  filters:
    cssrewrite: ~
    yui_js:
      jar: %kernel.root_dir%/Resources/java/yui-compressor.jar
      #apply_to: "\.js$"
    yui_css:
      jar: %kernel.root_dir%/Resources/java/yui-compressor.jar
      #apply_to: "\.css$"

  assets:   
    jquery:
      inputs:
        - '%kernel.root_dir%/Resources/public/js/jquery-1.8.0.js'
        - '%kernel.root_dir%/Resources/public/js/jquery.sizes.js'
        - '%kernel.root_dir%/Resources/public/js/jquery.form.js'
        - '%kernel.root_dir%/Resources/public/js/jquery.validate.js'
        - '%kernel.root_dir%/Resources/public/js/jquery.metadata.js'
    [...]

共有1个答案

吴飞语
2023-03-14

查看官方文档,了解如何公开捆绑包的语义配置

参考文献:

创建捆绑包时,在如何处理配置方面有两种选择:

>

  • 普通服务配置(简单):您可以在包中的配置文件(例如services.yml)中指定您的服务,然后从主应用程序配置中导入它。这真的很容易,快速和完全有效。如果您使用参数,那么您仍然可以灵活地从应用程序配置中自定义捆绑包。有关更多详细信息,请参阅“使用导入导入配置”。

    公开语义配置(高级):这是对核心包进行配置的方式(如上所述)。基本思想是,不要让用户覆盖单个参数,而是让用户配置几个专门创建的选项。作为捆绑开发人员,您然后在“扩展”类中解析该配置并加载服务。使用此方法,您不需要从主应用程序配置中导入任何配置资源:扩展类可以处理所有这些。

    所以主要的想法是在每个bundle中创建Exent类,并加载bundle特定的配置文件。

    您还可以查看core symfony或第三方捆绑包中的一些示例。

  •  类似资料:
    • 问题内容: 编辑:Symfony最佳做法回答了我的大部分问题。 关于我的Symfony2应用程序,我有几个问题。 它将有一个前端和一个后端,并且它们将使用一些通用代码(例如日期显示器,分页器,一些经常使用的模板等)。 因此,我创建了一个FrontendBundle和一个BackendBundle,它们分别包含各自的布局。第一个问题:为前端和后端创建捆绑包(这是甚至没有控制器的“通用”捆绑包)的优良

    • 我正在用react原生android创建一个捆绑版本。我使用“assembleRelease”创建了一个apk,我测试了资产是否存在,但当我尝试捆绑“bundleRelease”时,没有资产。 该图像显示我的资产目录。 这是我的索引。Android捆BGAppPros将自动生成。 在我的Android/应用程序/build.gradle 代码看起来像这样。我有一种感觉,这就是罪魁祸首“资源释放”

    • 问题内容: 我已经为此花了好一会儿,想知道是否有可能从头开始。感谢您对此的任何帮助! npm包 我有一个npm包,它基本上是一个React组件库。该库具有嵌入式样式表,该样式表引用了CSS中的资源,例如字体和图像。然后将所有这些都使用webpack捆绑到中。 的配置如下所示: 随着看起来像: 到目前为止,一切都很好。 应用程序 现在,在另一个代码库中,我有了主应用程序,该应用程序安装了该npm软件

    • 问题内容: 我正在做以下事情 在上面的代码中,我试图写入一个Java包中包含的资源文件。执行完代码后,我的程序可以正常运行,但是该文件只是更新web- INF中的属性文件,而不是将其更新到存储它的包中。谁能帮我弄清楚我该如何实现这一目标,或者我在这里做错了什么?非常感谢。 问题答案: 您不应该尝试写入与应用程序类一起存储的文件。根据应用程序服务器的不同,您尝试写入的位置可能无法写入,或者应用程序可

    • 问题内容: 在Symfony2应用的路由配置中,我可以引用这样的文件: 有什么方法可以访问控制器或其他PHP代码中与包相关的文件?特别是,我尝试使用Symfony \ Component \ Yaml \ Parser对象来解析文件,并且我不想绝对引用该文件。本质上,我想这样做: 我已经签出了Symfony \ Component \ Finder \ Finder类,但我认为这不是我想要的。有任