新手入門
讓我們來創建第一個Rocket應用并運行它。首先確認我們安裝了適當的Rust版本,然后創建一個依賴 Rocket的新Cargo工程,最后運行它。
安裝Rust
Rocket 使用了大量的Rust的語法擴展和其它開發版的先進特性。因此我們需要使用nightly版的Rust。如果你已經安裝了最新的nigthly版的Rust,請愉快地跳到下一節。
安裝nightly版的Rust, 我們推薦使用rustup
。 安裝rustup
請按照它官網的介紹。rustup
安裝成功之后,請按照下面的命令將nightly版的Rust設置為你默認的工具鏈。
rustup default nightly
我們將在下一節設置一個工程目錄,如果你愿意的話,你可以使用下面的命令,為你的Rocket項目單獨設置nightly版:
rustup override set nightly
nightly 版本
Rocket 總是要求使用最新版本nightly版Rust。如果你的Rocket 應用忽然不能編譯了。 請確認你使用的是否是最新的nightly版Rust。如果不是使用下面的命令升級:
rustup update && cargo update
Hello, world!
我們來開始第一個Rocket應用! 先創建一個可運行的Cargo項目并且進去這個新目錄:
cargo new hello-rocket --bin
cd hello-rocket
現在, 把Rocket 和它的代碼生成功能添加到你的工程依賴里面。 在項目里的Cargo.toml里加入以下代碼:
[dependencies]
rocket = "0.3.6"
rocket_codegen = "0.3.6"
修改 src/main.rs,把以下代碼粘貼進去,就成為了我們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();
}
我們會在以后的章節來詳細說明這個程序本質上做了什么。簡而言之,它創建了一個index路由,并掛在在根路徑下,之后啟動了程序。用cargo run
編譯并運行程序。你會看到如下信息:
?? 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
訪問http://localhost:8000 就可以看到運行的程序了。