【发布时间】:2018-03-12 12:39:12
【问题描述】:
我发现很少有方法可以像使用 rails 一样使用 Phoenix,我在 Phoenix 中寻找的一些观点是。
1:在rails中,我有我的控制器和我的视图,还有CSS和JS文件,当我只想在一个相关视图中包含CSS文件时,我只做
<%= yield :head %>
在我的视图文件中,我只做
<% content_for :head do %>
<%= stylesheet_link_tag "views/index/landing.css" %>
<% end %>
就是这样。我的 CSS 文件仅为我的相关视图加载。
2:对于 JS,我有 application.js 文件,其中包含了我的其他库,最后,我有 admin.js,其中包含了我的所有其他文件
//= require jquery
//= require dataTables/jquery.dataTables
//= require jquery_ujs
//= require bootstrap.min
//= require admin/admin.js
admin.js.coffee 文件
#= require admin/sign_up.js.coffee
#= require admin/company.js.coffee
#= require admin/user.js.coffee
3:对于每个 JS 文件我正在做的是,例如,对于 Signup 视图的 JS 文件,我在文件的最后完成了如下操作,
window.initializeSignUp = ->
onSignUp()
在此之后我只需要在我的注册视图中是
<script>
$(document).ready(function () {
window.initializeSignUp();
});
</script>
现在它只调用 Signup 方法,一切正常。 另一方面,我喜欢 Elixir,它是一种非常好的和可爱的工作语言,但是每当我开始使用它进行项目时,我已经开始害怕 Brunch 以及如何处理资产。
对于那些会阅读问题并且甚至不了解这里的主要问题而只是投反对票的人:我是 Phoenix 的新手,用于创建具有视图和资产等的 APP。
我只需要一个明确而正确的答案就可以在不使用早午餐或任何 web-pack 解决方案的情况下与 Phoenix 合作,但是一种正常的方式,这可能吗?
【问题讨论】:
-
Rails 对 (2) 所做的不是“正常的”。 Rails 有自己的类似 brunch/webpack 的东西来进行这种连接。 Phoenix 不包含任何此类功能。
-
我只是在为不懂早午餐或网络包的人找到一种可靠的方法来解决问题。
标签: ruby-on-rails elixir phoenix-framework