好吧,您有要运行的项目、要在节点版本之间切换以及要自动化的任务。您不想要一个臃肿的工具,也不想要在 nvm 和 npm 脚本之间不断切换。 shuru 的作用是简化这一切:带有内置节点版本管理器的任务运行器。它是轻量级的,用 rust 编写,不会妨碍您,同时确保您的任务顺利运行。
shuru 做了两件事:
就是这样。没有您永远不会使用的奇特功能。它专注于通过处理切换项目时通常令人痛苦的事情来简化您的工作流程 - 例如确保您使用正确的 node 版本并每次运行相同的命令。
安装非常简单:
curl -s https://raw.githubusercontent.com/harshdoesdev/shuru/main/install.sh | sh
就是这样。您已设置完毕。
您可以在项目根目录下的 shuru.toml 文件中定义任务和节点版本。这是一个基本示例:
[versions] node = "v16.14.0" [[task]] name = "setup" command = "npm install" [[task]] name = "dev" command = "npm run dev" [[task]] name = "build" command = "npm run build"
shuru 将确保您使用指定的 node.js 版本(本例中为 v16.14.0),并使用单个命令运行 npm install 或 npm run dev 等任务。
shuru.toml 文件准备好后,您可以使用以下命令运行任何任务:
shuru <task_name></task_name>
例如:
shuru setup
shuru 将切换到正确的 node.js 版本(如有必要)并运行命令 npm install。想要检查您的项目正在使用的 node 版本吗?只需将其添加到您的 shuru.toml 中即可:
[[task]] name = "version" command = "node --version"
现在,运行:
shuru version
shuru 将切换到正确的 node 版本并一次性为您提供信息。
假设您有一个需要 node.js v18.5.0 的项目。您想要安装依赖项、运行测试、构建项目并启动开发服务器。您的 shuru.toml 可能如下所示:
[versions] node = "v18.5.0" [[task]] name = "setup" command = "npm install" [[task]] name = "test" command = "npm run test" [[task]] name = "build" command = "npm run build" [[task]] name = "start" command = "npm start" default = true
现在,您不必手动运行这些命令或担心 node 版本,只需执行以下操作:
shuru setup # Installs dependencies shuru test # Runs tests shuru build # Builds the project shuru # Defaults to starting the server
shuru 确保正确的 node 版本对于每个命令都处于活动状态,而无需您考虑。
shuru 就是简单和专注。它不会尝试取代 gulp 或 npm 脚本等任务运行程序。相反,它是一个轻量级工具:
不多不少。如果您想要实用的东西,shuru 就适合您。在 github 上查看它,看看它是否适合您的工作流程。
尝试一下,如果愿意的话也可以做出贡献,并简化跨项目运行任务的方式。