2017-03-16 31 views
1

我正在使用Mix(这适用于Elixir以及我猜)来管理我的前端资产。我已将Mix配置为在生产中版本文件,但不在开发中。因此,当我更新资产时,我在生产中更新了app.jsapp.css文件,并更新了app.{hash}.jsapp.{hash}.css文件。我如何使用laravel mix和git来管理前端资产?

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

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

你对这个想法?

在此先感谢。

回答

0

重写应用程序。{}哈希与.js文件nginx的以app.js并添加其gitignore

+0

我的问题是不是在web服务器级它是如何管理本地文件与git。我的直觉告诉我编译生产中的资产是一个坏主意,但是在编译资产之后不得不删除/添加新文件是一种皮塔饼。 –

4

在我的工作,我们已经.gitignore'd的CSS/JS文件夹了近一年的不同项目没有问题只是让服务器处理npm作为其构建步骤的一部分。

如果你使用的纱线,它会创建保证你会得到生产完全相同的JS依赖一个锁定文件。

当使用版本控制只是用你的脚本/ CSS标签混合()帮手,它会处理指向通过公共目录中的混合 - manifest.json档案正确的文件。

例如:

布局/ app.blade.php有

<script src="{{ mix('js/app.js') }}"></script>当您运行NPM搭配

创建像这样

的公共/ MIX-manifest.json档案{ "/js/app.js": "/js/app.{hash-example}.js" }

我看到的唯一问题是混合使用mix()助手它出现只有工作,而npm watch正在运行,这是一件好事灵药前处理很好,但搭配相对比较新,所以它可能会解决,我自己还没有足够的恼火寻找到它,因为在开发过程中我始终运行npm run hot这确实重装热在任何js文件更改。 - 编辑:这似乎是现在修复

+1

感谢您的回答,它有所帮助。想要知道一件事,应该'mix-manifest.json'承诺git? –

+1

如果你是'.gitignore'/ js和/ css文件夹,它可能是没有多大意义的。请注意,如果找不到'mix-manifest.json'文件并且让它作为运行npm的提醒,它会很快抛出异常。它总是绊倒我们的一些团队成员。 –

+1

明白了。谢啦! –

相关问题