Nodejs fjpublish: 使用命令行发布你的项目

发布于 1周前 作者 sinazl 来自 nodejs/Nestjs

Nodejs fjpublish: 使用命令行发布你的项目

fjpublish 简介

fjpublish是一款通过配置文件就能完成发布项目到各个环境的命令行工具,意在创建可靠舒适的发布项目体验,同时它也有丰富的 API 和完善的可拓展能力,让开发者轻松定制项目发布流程。

前言

曾几何时,我相信部分 Web Developer 使用的项目发布方式还活在刀耕火种的年代(使用 xftp 或者 sublime text 的插件 sftp 等),发布方式简单又粗暴,想发布哪个目录就直接上传覆盖...

但是这种方式对于现在的前端项目有些弊端,例如:

  • 若项目包含 webpack\gulp 等构建工具,则每次发布都需要等待构建完成后再手动上传,效率低;

  • 若项目为前端的服务端渲染项目,例如 vue 的服务端渲染,那么项目上传服务器后还得登录服务器重启进程;

  • 发布时由于选错文件或者选错发布环境导致的上传(>﹏<)悲剧,可没有后悔药吃。

fjpublish 能做什么

  • 通过配置文件配置每个要发布的环境,并通过简单的命令行命令选择发布的环境;

  • 自动化发布流程涵盖了 git->构建->打包压缩->上传服务器->执行远程命令备份并替换旧文件;

  • 一次命令可发布一个或多个环境,可选择并行或串行发布;

  • 若为同时发布多个不同环境,fupublish 能自动根据配置文件判断出哪些文件已构建,哪些文件已打包,哪些环境已上传等,自动忽略重复流程;

  • 自由组合发布的目录层级,可发布多个目录和忽略不需要发布的文件;

  • 通过中间件机制组成发布器,中间件之间独立无耦合,可灵活拆卸或新增中间件,完成简单的二次开发新的命令;

  • 可通过配置文件配置或者发布命令配置完成忽略某些当次发布不需要的流程,例如: 配置 nobuild 则不进行构建;

  • 可使用编程式的发布方式,不需要使用命令行也可以直接调用核心构建函数进行发布;

  • 可配置钩子函数灵活的控制在某个中间件前或后做些事情;

  • 可配置远程前置或后置 linux 处理命令,例如: 配置 postCommands 来在执行文件替换后重启 pm2 进程等;

  • 完备的提醒功能,若未配置或者配置错误某些重要或必要的配置则终止该发布流程并给出提示;

附上一张发布流程的 gif 图,感兴趣的朋友走过路过千万不要错过,详情请前往 文档地址

示例发布流程

反馈

fjpublish 已在公司内部项目中稳定运行了大半年,如果你有什么好的 idea,请在 github 上开issue或者去我的博客给我留言。

记得如果觉得不错请在右上角点个 star 哦∩__∩y


1 回复

在Node.js生态系统中,fjpublish可能不是一个广泛认知的工具,但基于你的问题,我假设你希望了解如何使用命令行发布Node.js项目。虽然fjpublish不是标准工具,但我们可以讨论使用Node.js常见的发布流程,这通常涉及npm(Node Package Manager)。

以下是使用npm命令行发布Node.js项目的步骤:

  1. 初始化项目: 如果你的项目尚未初始化,可以使用以下命令创建一个package.json文件:

    npm init -y
    
  2. 安装依赖(如果有):

    npm install <package-name> --save
    
  3. 构建项目(如果需要): 根据项目需求,可能需要构建(如使用Webpack、Babel等)。

  4. 登录npm: 发布前,确保你已登录npm账户:

    npm login
    
  5. 发布项目: 使用以下命令发布你的包:

    npm publish
    
  6. 验证发布: 发布成功后,你可以通过以下命令搜索你的包:

    npm search <your-package-name>
    

确保你的package.json文件中的信息准确无误,特别是nameversiondescription字段。此外,如果你正在处理私有包或企业包,可能需要配置.npmrc文件或使用npm的企业级解决方案。

希望这能帮助你发布你的Node.js项目!如果有特定的fjpublish工具,请提供更多信息以便给出更精确的指导。

回到顶部