rust web框架rocket指南——新手入門(mén)

新手入門(mén)

讓我們來(lái)創(chuàng)建第一個(gè)Rocket應(yīng)用并運(yùn)行它。首先確認(rèn)我們安裝了適當(dāng)?shù)腞ust版本,然后創(chuàng)建一個(gè)依賴(lài) Rocket的新Cargo工程,最后運(yùn)行它。

安裝Rust

Rocket 使用了大量的Rust的語(yǔ)法擴(kuò)展和其它開(kāi)發(fā)版的先進(jìn)特性。因此我們需要使用nightly版的Rust。如果你已經(jīng)安裝了最新的nigthly版的Rust,請(qǐng)愉快地跳到下一節(jié)。

安裝nightly版的Rust, 我們推薦使用rustup。 安裝rustup請(qǐng)按照它官網(wǎng)的介紹。rustup安裝成功之后,請(qǐng)按照下面的命令將nightly版的Rust設(shè)置為你默認(rèn)的工具鏈。

 rustup default nightly

我們將在下一節(jié)設(shè)置一個(gè)工程目錄,如果你愿意的話,你可以使用下面的命令,為你的Rocket項(xiàng)目單獨(dú)設(shè)置nightly版:

rustup override set nightly

nightly 版本

Rocket 總是要求使用最新版本nightly版Rust。如果你的Rocket 應(yīng)用忽然不能編譯了。 請(qǐng)確認(rèn)你使用的是否是最新的nightly版Rust。如果不是使用下面的命令升級(jí):

rustup update && cargo update

Hello, world!

我們來(lái)開(kāi)始第一個(gè)Rocket應(yīng)用! 先創(chuàng)建一個(gè)可運(yùn)行的Cargo項(xiàng)目并且進(jìn)去這個(gè)新目錄:

  cargo new hello-rocket --bin
  cd hello-rocket

現(xiàn)在, 把Rocket 和它的代碼生成功能添加到你的工程依賴(lài)?yán)锩妗?在項(xiàng)目里的Cargo.toml里加入以下代碼:

[dependencies]
rocket = "0.3.6"
rocket_codegen = "0.3.6"

修改 src/main.rs,把以下代碼粘貼進(jìn)去,就成為了我們Rocket 的Hello, world!程序:

#![feature(plugin)]
#![plugin(rocket_codegen)]

extern crate rocket;

#[get("/")]
fn index() -> &'static str {
    "Hello, world!"
}

fn main() {
    rocket::ignite().mount("/", routes![index]).launch();
}

我們會(huì)在以后的章節(jié)來(lái)詳細(xì)說(shuō)明這個(gè)程序本質(zhì)上做了什么。簡(jiǎn)而言之,它創(chuàng)建了一個(gè)index路由,并掛在在根路徑下,之后啟動(dòng)了程序。用cargo run 編譯并運(yùn)行程序。你會(huì)看到如下信息:

??  Configured for development.
    => address: localhost
    => port: 8000
    => log: normal
    => workers: [core count * 2]
    => secret key: generated
    => limits: forms = 32KiB
    => tls: disabled
??  Mounting '/':
    => GET /
??  Rocket has launched from http://localhost:8000

訪問(wèn)http://localhost:8000 就可以看到運(yùn)行的程序了。

Rocket系列 >>

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開(kāi)發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見(jiàn)模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,695評(píng)論 19 139
  • feisky云計(jì)算、虛擬化與Linux技術(shù)筆記posts - 1014, comments - 298, trac...
    不排版閱讀 4,380評(píng)論 0 5
  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 179,326評(píng)論 25 708
  • 小時(shí)候 羨慕哆啦A夢(mèng) 因?yàn)樗纳衿婵诖?能幫人實(shí)現(xiàn)愿望 長(zhǎng)大了 明白 世上沒(méi)有哆啦A夢(mèng) 沒(méi)有裝滿寶貝的神奇口袋 凡...
    岳檸檬閱讀 710評(píng)論 0 2
  • 【3.0】《https://jq.qq.com/?_wv=1027&k=4E1ijBI》
    小鋅閱讀 343評(píng)論 0 0

友情鏈接更多精彩內(nèi)容