#js #react #cli-tool #tool #nextjs #file-extension #create-file

bin+lib next-butler

一个工具,可帮助您更容易、更快地开发Next.js项目

4个版本 (2个稳定版)

1.0.1 2024年5月23日
0.2.0 2023年3月28日
0.1.0 2023年2月20日

命令行工具中排名第673

MIT/Apache

65KB
1.5K SLoC

next-butler

安装

cargo安装 next-butler

使用new命令创建文件

nb new[page|style|component] <name>

在相应的文件夹中创建一个新的页面、样式或组件文件。
例如:nb new page /users/index 在文件夹 /pages/users 中创建 index.jsx 文件

[!NOTE] 可以使用 --app-router--page-router 选项定义将创建页面的路由器,或者在 配置文件 中定义。

[!NOTE] 要定义文件的扩展名或其他配置,必须在 配置文件 中指定。

自定义模板

您可以通过在 nextbutler/templates/[pages|stylesheets|components]/ 内创建它们来自定义自己的模板。模板也可以通过以下命名设置文件扩展名: <name>[.<extension>].hbs

页面模板示例

// nextbutler/templates/pages/example_tmpl.tsx.hbs

export default function {{ name }}() {
    return <h1>Welcome!</h1>
}

当运行此模板文件时,将生成以下文件(注意我们省略了 .hbs 扩展名)

nb new page /home-page --template example_tmpl.tsx
export default function HomePage() {
    return <h1>Welcome!</h1>
}

[!NOTE] 如果没有其他同名的模板,则运行命令时可以省略扩展名。

配置文件

配置文件 nextbutler/nextbutler.json 必须包含定义命令自定义行为的对象的配置。
以下是所有可能的选项及其对应默认值:

{
    new: {
        page: {
            typescript: false // Create files as .ts files?
            jsx: true // Create files as .tsx or .jsx
            template: null // Which template to use by default
            api_template: null // Which template to use by default for api routes
            page_router: false // Create page based on the old page router
        },
        style: {
            extension: 'css' // If the file has to have the .scss extension
            folder: "styles" // Where the stylesheets should be created
            template: null // Which template to use by default
        },
        component {
            typescript: false // Create files as .ts files
            jsx: true // Create files as .tsx or .jsx
            folder: "components" // Where the components should be created
            template: null // Which template to use by default 
        }
    }
}

初始配置

您可以通过运行此命令创建所有配置文件(带有默认设置):

nb init

这将执行以下操作:

  • 在根目录内创建工具目录(nextbutler)
  • 创建配置文件(nextbutler/nextbutler.json)
  • 创建默认模板作为自定义模板

依赖项

~8–17MB
~209K SLoC