npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2025 – Pkg Stats / Ryan Hefner

deploy-it

v1.3.2

Published

前端项目自动化部署

Downloads

10

Readme

前端项目自动化部署

现在还属于玩具级别!

使用方法

  1. 在当前项目下创建 auto.js
  vue-project
  ├── src
  │   ├── App.vue
  │   │   └── ....
  │   └── main.js
+ ├── auto.js
  └── package.json
  1. 在 auto.js 中根据您的服务其配置写入如下内容
// auto.js
const deploy = require('deploy-it');

;(async ()=>{
// 请根据您的服务器配置传参
  let option = {
    username: 'root',
    password: "8848",
    host: "127.0.0.1",
    port: 22,
  };
  let lifetimes = { // 生命周期控制
    builded(){
      console.log('项目已经构建完成'); // 可以执行异步操作
    },
	  uploaded(stdio){
      // 在此处执行解压 移动文件等命令
		  console.log('压缩包已经上传到服务器');
      stdio.write('unzip -o ./dist.zip \n'); // 解压命令
      stdio.write('exit \n');
	  }
  }
  await deploy(option, lifetimes); // 异步
  ....<其他代码>
})();
  1. package.json中加入运行脚本
	"scripts": {
		"auto": "node ./auto.js"
	},
  1. 然后执行npm run auto即可自动部署! 从本地上传文件到服务器时需要输入用户密码,记得输入哟!

参数详解

option配置参数详解

let option = {
	username: "root", // 用户名
	password: "8848", // 用户密码
	host: "127.0.0.1", // 服务器IP
	port: 22, // 服务器端口号
	privateKey: `PRIVATE KEY`, // 服务器ssh私钥 不要格式化 可以使用fs.readFileSync 经行读取
	uploadPath: "/", // 需要上传到服务器的具体目录 默认上传至根目录
	spinType: "Spin9", // 加载动画类型 参考io-spin,
	build: "npm run build", // 项目打包命令
	floder: "dist", // 打包完成后生成的文件夹名称
	useKey: false, // 是否使用privateKey经行登录
};

lifetimes生命周期参数详解

let lifetimes = {
	async builded() {
		// 可在此处对已经打包的项目文件经行再操作
		let file = fs.readFileSync("/dist/.index.html").toString();
		console.log(file);
	},
	uploaded(stream) {
		// 在此处执行服务器命令  解压 移动文件等命令
		console.log("压缩包已经上传到服务器");
		stream.write("unzip -o ./dist.zip \n"); // 解压命令
		stream.write("exit \n");
	},
};

联系方式

Email: [email protected]