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 🙏

© 2024 – Pkg Stats / Ryan Hefner

node-multi

v0.6.2

Published

Manager multiple node application & deploy

Downloads

16

Readme

node-multi

基于gulp,管理多个node应用,typescript编译-》压缩-》上传-》服务器脚本。
好处:节省磁盘空间,确保不同项目引用包的版本一致,提高代码复用率

全局安装

npm i node-multi -g
使用 nodem 命令

nodem init
nodem run
nodem run -m build
nodem run -m batch

本地安装

npm i node-multi -D
在package.json的script中

"scripts": {
    "init": "node_modules/.bin/nodem init",
    "dev": "node_modules/.bin/nodem run",
    "build": "node_modules/.bin/nodem run -m build",
    "batch": "node_modules/.bin/nodem run -m batch"
}

命令说明

  1. init
    初始化项目,会在当前目录下生成projects.json文件和目录
  2. run -m
    编译项目,-m为可选参数,有三个值可选
    dev 默认值,本地调试
    build 构建指定项目的指定环境
    batch 批量构建指定环境的多个项目

projects.json说明

该文件主要包含项目配置/环境配置/全局配置。

  1. 项目配置
"root": "src/projects",
"projects": {
    "myproject": { 项目代码,用于唯一标识一个项目
        "dir": "项目目录(相对root目录)",
        "name": "项目名称",
        "entry": "项目启动文件,通常会是server.js或index.js",
        "envs": { 环境列表
            "prod": { 环境代码,用于唯一标识一个环境
                环境配置信息
            }
            ...
        }
    }
    ...
}
  1. 环境配置
    分为三个级别,优先级为 项目自定义环境配置>全局指定环境配置>全局环境配置

项目自定义环境配置

"root": "src/projects",
"projects": {
    "myproject": {
        ...
        "envs": {
            项目自定义环境配置
            "prod": { 环境代码
                "name": "环境名称",
                "dist": "发布文件的目录,相对projects.json所在的目录",
                "config": { 该环境自定义配置属性,比如数据库的连接信息
                    ...
                },
                "pm2": { pm2自动重启的配置
                    "name": "pm2 list 里应用的名称"
                },
                "git": { git自动提交代码配置
                    "url": "仓库的ssh地址"
                    "branch": "分支名称"
                }
            }
            ...
        }
    }
    ...
}

全局指定环境配置

"global": {
    "env": {
        "prod": {
            "name": "环境名称",
            "dist": "发布文件的目录,相对projects.json所在的目录",
            "config": {
                ...
            },
            "pm2": { 
                ...
            },
            "git": {
                ...
            }
        },
        ...
    }
}

全局环境配置

"global": {
    "env": {
        "config": {
            ...
        },
        "pm2": {
            ...
        },
        "git": {
            ...
        }
        ...
    }
}