新手入門(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)行的程序了。