webpack在symfony-(dev)-docker环境中的无缝集成

时间:2017-06-11 21:44:36

标签: symfony docker webpack

我目前正致力于从symfony资产包迁移到webpack。 "很容易"他们说。 "你可以立即切换"他们说。现在我第二天就没有任何东西挂在它上面了。

让我来描述环境:

我们有一些用docker-compose处理的docker容器:

  • nginx的
  • PHP-FPM
  • 节点(节点:最新的附加纱线)
  • ......其他一些(这里不相关)

它是具有以下结构的标准symfony 3.3应用程序:

app
  Resources
    assets
      scss
        some-common.scss
      common.js
src
  ABundle
    Resources
      assets
        js
          some.js
          another.js
        common.js
        bundle.js
  BBundle
    Resources
      assets
        js
          some-other.js
        scss
          custom-font.scss
          jet-another.scss
        font
          custom.ttf
          custom...
        img
          some.jpg
        bundle.js
vendor
   user/bundle
     src
        UserBundle
          Resources
            assets
              js
                other.js
              scss
                another.scss
              img
                some-other.jpg
              common.js
              bundle.js
web
   static <= the output 
     manifest.json <= is required for get the the filenames for symfony

     abundle.somecrpytichash.js
     bbundle.somecrpytichash.css
     bbundle.somecrpytichash.js
     userbundle.somecrpytichash.js
     userbundle.somecrpytichash.css
     common.somecrpytichash.js
     common.somecrpytichash.css

     custom.ttf
     custom....
     some.jpg (or another autogenerated name, eg. also with hash)
     some-other.jpg

现在更详细的描述我几乎不想尝试:

在开发案例中,docker container&#34; node&#34;应该处于监视模式,观察资产变化的变化。 此外,如果可能HMR正在工作(它的CAN,而不是必须) - &#34;节点&#34;容器可用于其他容器,并且可以对任何端口进行映射。 (webpack-hot-middleware在这里是正确的吗?)

命名遵循简单的路由:全局应用程序所需的所有代码都可以在common.js入口点中找到。它可以是外部依赖项,如jquery或foundation-sites,也可以来自bundle本身。 bundle.js包含所有仅在此捆绑包中需要的代码。

最后,每个站点上应该只有(最多)2个j,common.js和bundle specific.js文件以及css文件(common和bundle)。

web / static文件夹中文件(和文件夹结构)的名称具有示例性特征。唯一需要的是,输出得到散列,因为它更适合部署。

似乎很容易描述,但不是在构建它: - /

0 个答案:

没有答案