如何使用laravel mix和git管理前端资产?

Gon*_*afa 4 git assets elixir-mix laravel

我正在使用Mix(这也适用于Elixir)我可以管理我的前端资产.我将Mix配置为生产中的版本文件,但不是dev.因此,当我更新的资产,我得到更新app.js,并app.css在开发和文件app.{hash}.jsapp.{hash}.css文件制作.

关于如何在版本控制中利用它,您有什么建议?

  1. 将文件放在版本控制中?如果是这样,我如何在开发过程中管理不断变化?继续添加新的散列文件?我是否将app.js和app.css留在生产服务器上?
  2. .gitignore js和css文件并在生产服务器上运行npm以在本地编译资产?
  3. 其他解决方案?

你对此有何看法?

提前致谢.

Jus*_*ner 5

在我的工作场所,我们已经为不同的项目提供了近一年的css/js文件夹,没有任何问题只是让服务器处理npm作为其构建步骤的一部分.

如果你使用yarn,它会创建一个锁定文件,确保你在生产中获得完全相同的js依赖关系.

使用版本控制时,只需在脚本/ css标记上使用mix()帮助程序,它将通过公共目录中的mix-manifest.json文件处理指向正确的文件.

例如:

layout/app.blade.php有

<script src="{{ mix('js/app.js') }}"></script>

当你运行npm mix时会像这样创建public/mix-manifest.json文件

{ "/js/app.js": "/js/app.{hash-example}.js" }

我看到的唯一问题是使用混音和使用mix()助手它似乎只在npm watch正在运行时工作,这是elixir之前处理好的东西但混合相对较新所以它可能得到解决,我自己没有被烦恼为了研究它,因为在开发过程中我总是运行npm run hot,它会对任何js文件更改进行热重新加载. - 编辑:现在似乎已修复


小智 0

使用nginx将app.{hash}.js重写为app.js并将其添加到gitignore