#rocket #react #applications #experience #front-end #fairing #web-pack

nightly rocket_igniter

A Rocket.rs fairing for a better development experience when using React and WebPack

3个版本

0.0.3 2019年2月18日
0.0.2 2018年10月6日
0.0.1 2018年10月4日

#2 in #fairing

MIT许可证

11KB
128 代码行数(不包括注释)

点火器 💨 🔥

Build Status Current Crates.io Version

Igniter是一个Rocket.rs fairing,旨在为使用React和WebPack的前端开发提供更好的体验。Igniter允许你在启动rocket应用程序时启动前端开发环境。

CLI支持

我们目前支持NPM和Yarn作为与前端应用程序交互的CLI,并希望很快扩展到Ember和Vue。

入门

用法

将包作为依赖项添加到项目中

cargo install rocket_igniter

安装包后,您需要包含CliCommand和Engine以配置所需的CLI并在应用程序启动时启动引擎

extern crate rocket_igniter;

use rocket_igniter::engine::{CliCommand, Engine};

通过传递所需的CLI枚举创建新的Engine

Engine::new(CliCommand::NPM)

将创建的引擎附加到应用程序作为fairing

fn main() {
    rocket::ignite()
        .mount(
            "/",
            routes![hello_world],
        )
        .attach(Engine::new(CliCommand::NPM))
        .launch();
}

启动rocket应用程序并看到您的开发服务器启动!

Igniter仅在开发环境中运行。如果Rocket环境配置为Stage或Production,Igniter将让路并愉快地什么都不做!

配置

Igniter自带默认配置。默认情况下,igniter期望您的前端应用程序代码位于./app目录下。如果您希望前端应用程序代码位于其他位置,您可以通过在Rocket.toml文件中的[development]标题下设置igniter_app_dir键来覆盖此设置。例如,如果您想要将代码放置在名为myApp的目录下,配置将如下所示

[development]
igniter_app_dir = "./myApp"

在应用程序启动时,Igniter将在您的package.json中运行start脚本。除了代码位置外,此脚本可以通过Rocket.toml中的配置来覆盖。如果您的应用程序通过运行不同的脚本(如local而不是start)来运行其开发环境,则设置将如下所示

[development]
igniter_arg = "local"

这将幕后运行npm run local而不是npm run start

如果您的应用程序在./app下有代码,并使用start运行开发服务器,那么您无需进行任何配置!

问题

由于该项目仅由我维护,我们没有官方的gitter或discourse。如果您遇到任何问题或有任何功能请求,请在仓库中打开一个问题!如果您在打开新问题时分发问题模板,将非常感谢!提前感谢您!

行为准则

任何与Diesel有任何互动的人,包括但不限于这个GitHub仓库,都必须遵守我们的行为准则

许可证

根据以下任一许可证授权

贡献

除非您明确声明,否则您有意提交以包含在作品中的任何贡献(如Apache-2.0许可证中定义),应以上述方式双许可,不附加任何额外条款或条件。

依赖项

~10MB
~213K SLoC