【问题标题】:Possible to use websharper as a drop-in JS replacement?可以使用 websharper 作为插入式 JS 替代品吗?
【发布时间】:2012-10-02 18:15:23
【问题描述】:

是否可以使用 websharper 作为 javascript 的直接替代品,而无需额外的站点或 ASP.NET 复杂性?

例如,我可以将以下 websharper 库编译为 .js 文件并从我的 html 中的 javascript 脚本块中调用 hello() 函数吗?

namespace WebSharperLib

open IntelliFactory.WebSharper

module HelloWorld =
  [<JavaScript>]
  let hello () =
    IntelliFactory.WebSharper.JavaScript.Alert("Hello World")

【问题讨论】:

    标签: javascript f# websharper


    【解决方案1】:

    你确实可以做这样的事情。我找到的解决方案如下:

    • 在 VS 中创建 WebSharper 库项目
    • 将代码粘贴到您的示例中
    • 生成解决方案
    • 复制解决方案生成的最后一行(它运行 websharper)并在 powershell/console 中运行它,只需添加选项

      -js 你的js文件名

    问题是,这样您就没有任何已编译的依赖项。我想如果你制作一个完整的项目并在那里获取编译好的 js 输出,你可以得到它们。

    在我看来,WebSharper 并不是为了这样使用,而是作为一个完整的包使用。

    如果您只想将 F# 编译为 Javascript,Pit 正是为此目的而制作的,所以我建议您先尝试一下。

    【讨论】:

    • 听起来他可能正在寻找类似 Pit 的东西。
    • 我正在寻找像 Pit 这样的东西,除了它充满了错误 :)
    • 如果您复制 web sharper 命令并将其放入构建后的脚本中,并设法永久包含 websharper 的 stdlib,您可能会使用 websharper 和 Visual Studio 获得良好的工作流。只需进行一些初始设置:)
    • 谢谢,经过一番折腾,我终于让这个工作令人满意。为了触发 javascript 执行你需要这样的东西:&lt;script type="text/javascript"&gt; this.IntelliFactory.Runtime.init[0](); this.WebSharperLib.HelloWorld.hello();&lt;/script&gt;
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-16
    • 2015-09-22
    • 2018-09-10
    • 2022-08-15
    相关资源
    最近更新 更多