Elixir是一种开源,动态,编译,通用的函数式编程语言。它被设计为与Erlang平台完全兼容,非常适合编写容错的分布式应用程序,具有软实时保证和热代码交换功能。
我正在构建一个项目,其中我需要一种方法来在一组进程之间选举领导者。当领导者失败时,必须选举新的领导者。这必须支持不同的进程...
我正在编写一个渲染实时视图的 exs 文件。是否可以使用如下所示的脚本标签从外部 javascript 文件读取 javascript?我收到这个错误。 <p>我正在编写一个渲染实时视图的 exs 文件。是否可以使用如下所示的脚本标签从外部 javascript 文件读取 javascript?我收到此错误。</p> <pre><code><script type="text/javascript" src="/assets/app.js"></script> Error: 17:30:10.499 [error] #PID<0.385.0> running Example.Endpoint (connection #PID<0.383.0>, stream id 2) terminated Server: localhost:5001 (http) Request: GET /assets/app.js ** (exit) an exception was raised: ** (ArgumentError) unknown application: :sample (elixir 1.15.5) lib/application.ex:1010: Application.app_dir/1 (plug 1.15.0) lib/plug/static.ex:420: Plug.Static.path/2 (plug 1.15.0) lib/plug/static.ex:191: Plug.Static.call/2 live.exs:108: Example.Endpoint.plug_builder_call/2 live.exs:108: Example.Endpoint.call/2 (plug_cowboy 2.6.1) lib/plug/cowboy/handler.ex:11: Plug.Cowboy.Handler.init/2 </code></pre> <p>这是我的路由器和端点设置。</p> <pre><code>Application.put_env(:sample, Example.Endpoint, http: [ip: {127, 0, 0, 1}, port: 5001], server: true, live_view: [signing_salt: "aaaaaaaa"], secret_key_base: String.duplicate("a", 64) ) defmodule Example.Router do use Phoenix.Router import Phoenix.LiveView.Router pipeline :browser do plug(:accepts, ["html"]) end scope "/", Example do pipe_through(:browser) live("/", HomeLive, :index) end end defmodule Example.Endpoint do use Phoenix.Endpoint, otp_app: :sample socket("/live", Phoenix.LiveView.Socket) plug Plug.Static, at: "/", from: :sample, gzip: false, only: ~w(assets js fonts images uploads favicon.ico robots.txt) plug(Example.Router) end </code></pre> </question> <answer tick="false" vote="0"> <p><a href="https://hexdocs.pm/plug/Plug.Static.html" rel="nofollow noreferrer">Plug.Static</a> 文档描述了如何引用静态文件,特别是 <pre><code>:from</code></pre> 选项。从文档中,该值可以是:</p> <ul> <li>a <strong>string</strong> 包含文件系统路径</li> <li>an <strong>atom</strong> 代表应用程序名称(其中资产将从 <pre><code>priv/static</code></pre> 提供服务)</li> <li>a <strong>tuple</strong> 包含应用程序名称和从中提供资产的目录(<pre><code>priv/static</code></pre> 除外),或 MFA 元组。</li> </ul> <p>因为您提供了一个原子 (<pre><code>:sample</code></pre>),所以宏/函数的解析会导致它查找该名称的应用程序,以便解析其 <pre><code>priv/static</code></pre> 目录的路径。</p> <p>相反,您应该用双引号将该值引起来,使其成为表示路径的字符串:<pre><code>"sample/path"</code></pre>。我猜测该值代表一个目录,但您必须尝试一下才能确定。</p> </answer> </body></html>
我对 Elixir 和函数式编程整体来说还是个新手。我从超级基本的功能开始,直到我发现一个我在互联网上找不到的问题。 我有以下模块 defmodule L...
在 Task.async_stream() 内部使用 Task.start() 安全吗?
我正在学习 Elixir 任务模块。 https://hexdocs.pm/elixir/1.12/Task.html 在 Task.asyn_stream() 内部使用 Task.start() 是否安全? 这会导致进程泄漏吗?
我尝试使用自制软件安装 Elixir,但出现以下错误 ==>浇注libtiff-4.0.3.yosemite.bottle.tar.gz 错误:“brew link”步骤期间发生意外错误 形式...
该文档详细介绍了以下内容: 当supervisor启动时,它会遍历所有子规范并 然后按照定义的顺序启动每个子项。这是由 打电话给乐趣...
在 Task.asyn_stream() 内部使用 Task.start() 安全吗?
我正在学习 Elixir 任务模块。 https://hexdocs.pm/elixir/1.12/Task.html 在 Task.asyn_stream() 内部使用 Task.start() 是否安全? 这会导致进程泄漏吗?
如何在不使用表单的情况下使用参数调用handle_event?
如何在不使用表单的情况下调用handle_event希望特定的参数? 我希望在发生 row_click 时在模式中显示表行详细信息。我能够触发处理事件,但参数是
Phoenix/Elixir:如何在不使用表单的情况下使用参数调用handle_event?
如何在不使用表单的情况下调用handle_event希望特定的参数? 我希望在发生 row_click 时在模式中显示表行详细信息。我能够触发处理事件,但参数是
我想将动态类名与静态类名连接起来。 这导致 而不是... 我想将动态类名与静态类名连接起来。 <div class=<%="#{getClass(app.status)} two" %> 这会导致 <div class="one" two> 而不是 <div class="one two"> 如何解决这个问题? 如果您在 Elixir 中使用 Phoenix,则可以这样做: <div class={"fixed-left #{if @current_user do 'login-page' end}"}> 您应该使用<div class="<%= getClass(app.status)} %> two">。 <%= %> 评估 Elixir 代码并将结果注入 HTML 的任何部分。 您可以在 HTML 标记内注入值: <div> <%= @user_name %> </div> 或任何 HTML 属性 <a class="btn <%= if(@alert, do: "btn-danger", else: "btn-primary") %>">...</a> 或者设置HTML属性 <button class="btn btn-success" <%= if(@disable_button, do: "disabled", else: "tooltip=\"button is working\"") %>">...</button> 我会这样做: <div class={"#{getClass(app.status)} two"}> <div class={"fixed-left #{if @current_user, do: "login-page"}"}> 我认为这比 JuliSmz 发布的代码更惯用。请注意使用字符串 ("login-page") 而不是字符列表 ('login-page'),并且更短的 if 没有 end。 或者我根本不会搞乱字符串连接并传递这样的列表: <div class={[getClass(app.status), "two"]}> <div class={["fixed-left", (if @current_user, do: "login-page")]}> 这种方法的小好处是,当 <div class="fixed-left"> 为 <div class="fixed-left "> 时,我们得到 @current_user 而不是 nil。 请参阅文档了解更多信息。 请注意,这两种方法仅在 HEEx(.html.heex 文件或 ~H 印记)中可用,该文件自 Phoenix 1.6 起可用,因此在 OP 提出原始问题时,这两种方法都无效。如果没有 HEEx(在 EEx 中),我会像 sbacarob 和 CarefreeSlacker 提议的那样做,即: <div class="<%= getClass(app.status) %> two"> <div class="fixed-left <%= if @current_user, do: "login-page" %>">
我尝试在 Elixir 中做以下可以在 Python 中实现的事情: 总和 = 0 对于列表中的元素: 如果 elem >= 5: 总和 += 1 例如:我想返回给定列表 [0, 5,...
在 Elixir 中为 Ecto 的 Repo.preload 添加限制选项
我在 Elixir 中有一个使用 Ecto 的函数,可以为给定实体预加载关联。当前的实现如下所示: @spec get(integer() | String.t(), list()) :: t() |零 def get(id,
Elixir 相当于 for 循环,计算满足条件时出现的次数
我尝试在 Elixir 中做以下可以在 Python 中实现的事情: 总和 = 0 对于列表中的元素: 如果 elem >= 5: 总和 += 1 例如:我想返回给定列表 [0, 5,...
WebSock 文档指出,handle_info/2 回调是 当套接字进程接收到一个请求时,由 WebSock 调用 GenServer.handle_info/2 调用未由 服务器
我正在学习 Elixir,刚刚学习到关于闭包的部分。当一种语言有闭包时,我通常做的第一件事就是尝试制作闭包算法。在 JavaScript 中,它看起来像......
我正在构建一个嵌套表单(LiveView)并想验证嵌套关联。然而,即使嵌套关联在变更集中返回错误,当使用变更集时我...
我是 Elixir 的新手(一般编程也是如此),我不明白 Elixir 在这里启用了字符串和 ASCII 之间的解释。 结果 = << n <- "abc132"...
背景 我的 tarball 中有一个发布文件。不过,我希望最终版本包含一些附加文件并移动一些内容,以方便用户。 这意味着我需要...
当 Elixir 中的函数只有一个定义时,使用守卫是惯用的做法吗? [已关闭]
当你只有一个函数定义时,使用守卫是惯用的做法吗? 例如。 defmodule 数学做 def add(a, b) 当 is_integer(a) 和 is_integer(b) 执行时 a+b 结尾 结尾 或者 解模...
Ecto 中是否有内置方法可以在将 Ecto.Changeset 插入数据库之前调用changeset/2 时删除字段的尾随和前导空格? 目前,我正在添加两个...