2016-01-27 3 views
8

Я бы служить все файлы в моей «общественной» папке с учтивымиУчтивые служат статические файлы

Внутри моей публики у меня есть:

/index.html 
/styles/main.css 
/scripts/app.js 
/images/*.(png|jpg) 

Использует ли я в homeFolder? Или как это работает? Нужно ли копировать общую папку рядом с исполняемым файлом в папке bin? Фрагмент кода будет оценен по достоинству. Благодарю.

Edit:

Решение выглядит следующим образом:

open Suave 
open Suave.Filters 
open Suave.Operators 
open Suave.Successful 
open System.IO 

let app = 
    choose [ 
     GET >=> choose 
      [path "/" >=> OK "test" ; Files.browseHome] 
     POST >=> choose 
      [path "/foo" >=> OK "thanks"] 
    ] 

let myHomeFolder = Path.Combine(Directory.GetCurrentDirectory(), "public") 

let cfg = { 
    defaultConfig with 
     homeFolder = Some(myHomeFolder) 
    } 

[<EntryPoint>] 
let main argv = 
    printfn "%A" argv 
    startWebServer cfg app 
    System.Console.ReadLine() |> ignore 
    0 // return an integer exit code 
+0

[документ должен содержать все, что вы просили] (https://suave.io/files.html) – Carsten

+2

Извините https://suave.io/files.html не очень помогает – user1613512

+0

хорошо нормально - другой короткий запрос к google/bing дает [this] (http://blog.geist.no/suave-io-introduction-and-example-part-3-requests-and-routing/) .... лучше? – Carsten

ответ

10

Я нашел это довольно трудно сделать тоже, как это на самом деле не документированы. Я не нашел блог, который Карстен, связанный с выше, так что я смог придумать это после того, как траление через исходный код Suave и примеры в своем GitHub репо:

open Suave 
open Suave.Operators 

let app = 
    choose 
     [ Filters.GET >=> choose 

      [ Filters.path "/" >=> (
        "My main page" 
        |> Successful.OK) 

       Files.browseHome ] ] // <-- The important part 

[<EntryPoint>] 
let main x = 
    Web.startWebServer Web.defaultConfig app |> ignore 
    0 

я использовал browseHome, потому что это консоль app, и я просто хотел обслуживать файлы из каталога exe. Я думаю, вы захотите использовать browse (source code)

И here are some examples вы можете пригодиться.

+1

Спасибо, что помогли, оказывается, мой homeDirectory нуждается в абсолютном пути. – user1613512

Смежные вопросы