我目前正致力于从symfony资产包迁移到webpack。 "很容易"他们说。 "你可以立即切换"他们说。现在我第二天就没有任何东西挂在它上面了。
让我来描述环境:
我们有一些用docker-compose处理的docker容器:
它是具有以下结构的标准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文件夹中文件(和文件夹结构)的名称具有示例性特征。唯一需要的是,输出得到散列,因为它更适合部署。
似乎很容易描述,但不是在构建它: - /