[英]How to use jQuery with webpack-encore in a Symfony project?
[英]Version control strategy for webpack-encore project
我正在学习使用webpack-encore,并且注意到它仅作为dev
依赖项安装。 这是否意味着我应该在开发时编译我的js
和css
文件,并将它们推送到存储库,然后再推送到生产环境?
在我看来,这意味着文档所隐含的含义,但这是否意味着合并冲突地狱? 编译的文件将无法合并。
也不会违背版本控制原则吗? 据我所知,您不会以编译语言(即C / C ++)发布二进制文件,而是会推送代码并期望服务器对其进行编译。 我知道这与javascript中的“编译”类型不同,但是在这种情况下生产服务器的预期行为是什么? 要接收准备服务的文件,还是在发布时进行编译?
提前致谢
这是否意味着我应该在开发时编译我的js和css文件,并将它们推送到存储库,然后再推送到生产环境?
不完全是-这取决于您的部署方式。
部署时,需要运行./node_modules/.bin/encore production
以构建资产。 完成此操作后, 仅需要将已构建的资产(例如web/build
)转移到生产中。
您可以在本地(或在某些“构建”服务器上)运行此命令,并将所有文件传输到生产环境。 或者,您可以在生产环境中使用git pull
,然后在生产环境中运行此命令(不利之处是您需要在生产环境中安装Node.js)。
您不需要/不需要将构建的文件提交到存储库。 但是...如果它简化了您的部署(即您要进行git pull
并完成),则没有任何实际问题。
我只是在FAQ( http://symfony.com/doc/current/frontend/encore/faq.html )中添加了PR来回答这些问题-这是部署之前的PR: https : //github.com/symfony/ symfony-docs / pull / 8109
干杯!
解决方案1:
yarn run encore production
解决方案2:
yarn run encore production
在我看来,第二种解决方案更好,因为在部署之前不需要额外的人工检查,一切都是自动化的。 但这有一个很大的缺点:资产的建立过程可能很慢,而当我部署时,在资产建立之前,我的生产会在5到20秒内停机。
这是HTTP 500错误:
呈现模板期间引发了异常(“资产清单文件“ [...] / web / build / manifest.json”不存在。”)。
看起来manifest.json
文件在该过程的开始被删除,并在以后从头开始创建。
有什么需要改进的地方吗?
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.