我正在使用 Mix(我猜这也适用于 Elixir)来管理我的前端 Assets 。我已将 Mix 配置为在生产中而不是在开发中对文件进行版本控制。因此,当我更新 Assets 时,我会在 dev 和 app.{hash}.js
中更新 app.js
和 app.css
文件和生产中的 app.{hash}.css
文件。
对于如何将其与版本控制结合使用,您有何建议?
- 将文件置于版本控制中?如果是这样,我如何管理开发过程中的不断变化?继续添加新的散列文件?我是否将 app.js 和 app.css 留在生产服务器上?
.gitignore
js 和 css 文件并在生产服务器上运行 npm 以在本地编译 Assets ?- 其他解决方案?
你对此有何看法?
提前致谢。
最佳答案
在我的工作场所,我们已经为不同的项目将 css/js 文件夹 .gitignore 了将近一年,只要让服务器在其构建步骤中处理 npm 就没有问题。
如果您使用 yarn,它会创建一个锁定文件,确保您在生产环境中获得完全相同的 js 依赖性。
当使用版本控制时,只需在您的脚本/css 标签上使用 mix() 帮助程序,它将通过公共(public)目录中的 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()
helper 它似乎只在 npm watch
时有效正在运行,这是 elixir 之前处理得很好的事情,但是 mix 相对较新,所以它可能会得到解决,我自己还没有烦到去研究它,因为在开发过程中我总是运行 npm run hot
它对任何 js 文件更改进行热重载。 -- 编辑:这似乎现在已修复
关于laravel - 我如何使用 laravel mix 和 git 管理前端 Assets ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42836918/