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

bunjs

v1.5.1

Published

bun-cli工具是一个融合了多种实用功能的前端命令行工具,它服务于bunjs框架,却不止于bunjs。

Downloads

88

Readme

bun-cli

bun-cli工具是一个融合了多种实用功能的前端命令行工具,它服务于bunjs框架,却不止于bunjs。

NPM version NPM downloads

它主要有以下功能:

  • 帮助使用bunjs框架的用户快速构建代码,一键生成初始项目
  • 一条命令打包部署bunjs的项目
  • 支持热加载,监听改动自动打包重启(仅开发模式下)
  • 封装webpack工具,傻瓜式配置,支持非bunjs项目打包
  • 内置mock服务,本地开发更便捷
  • 内置pm2,帮你更好的监控自己的项目

安装:

npm i -g bunjs

bunjs框架使用

1.构建项目工程框架:

bun init project

根据提示输入名称,如myProject。 然后cd进入新创建的project目录,执行:

npm install

一个项目工程构建完成。

2.创建app

然后退回到上一级目录,并创建一个新的app:

cd ..
bun init app

根据提示输入app名称,如myapp。 然后cd进入新创建的app目录,执行:

npm install

3.编译部署

然后编译当前app内容到工程目录:

bun r -d -t ../myProject

开发环境下,可加上:

-d参数:使用开发模式打包编译(不会进行压缩等)

-w参数:实时监听文件修改,自动打包编译

5.启动项目

然后,回到project目录,启动项目:

cd myProject
bun run myProject

默认端口是8000,打开http://localhost:8000/myapp/home 即可看到示例页面

6.其它

工具内置了pm2作为进程保护,可以监听文件修改自动重新启动,你可以执行:

bun restart myProject //重启项目
bun stop myProject //停止项目
bun run myProject -w //自动重启项目

vue

我们对react和vue等热门前端框架进行了支持, 如果你想使用vue,你可以这样创建app:

bun init vueapp

打开http://localhost:8000/myapp/ 即可看到示例页面

我们还对vue做了ssr支持,你需要创建一个新的vueappssr:

bun init vueappssr

你还需要引入一个ssr插件(在project目录下安装):

npm i --save bun-vuessr-plugin

然后在conf/plugins.js中做好声明即可使用:

exports.SSR = {
  enable: true,
  package: 'bun-vuessr-plugin'
};

插件的具体使用方法请移步这里:https://github.com/bunjs/bun-vuessr-plugin

react

如果你想使用react,你可以这样创建app:

bun init reactapp

打开http://localhost:8000/myapp/ 即可看到示例页面

我们还对react做了ssr支持, 针对react,你不需要创建ssrapp,只需安装一个插件,你可以很方便在project目录下安装插件:

npm i --save bun-reactssr-plugin

然后在conf/plugins.js中做好声明即可使用:

exports.SSR = {
  enable: true,
  package: 'bun-reactssr-plugin'
};

插件的具体使用方法请移步这里:https://github.com/bunjs/bun-reactssr-plugin

非bunjs框架使用

打包

1.在本地创建config.js文件,填入代码:


module.exports = {
	appname: 'webapp',
    dirname: __dirname,
    isbun: false,// 标识是否是bunjs项目
    ssr: false,
    entry: {
        index: './src/entry/index.js',
    },
    serverEntry: '',// 如果需要服务端渲染,这里是给服务端的入口
    output: './build/static',
    template: './src/index.html',
    localStaticDomain: '/',
    publicStaticDomain: 'https://www.baidu.com/',
    testStaticDomain: '/static/',
    manifest: true,

    /**
     * 分离模式
     * commons 是否需要提取公共文件(2次以上引入,仅限js)优先级低于commons
     * vendors 是否需要提取node_modules中的模块(包含css) 优先级低于libs
     * libs
     */
    cacheGroups: ['vendors', 'commons'],
    libs: [], // 需要额外打包的公共库
    uglifyJs: true, // 开发模式下无效
    optimizeCSS: true, // 开发模式下无效
    supportFileType: ['vue', 'less', 'pug'], // 需要支持的文件格式
    globalPath: {
        '@': './src',
    },
    definePlugin: {
        prod: {
            // 是否为生产环境
            PRODUCTION: JSON.stringify(true),
        },
        dev: {
            // 是否为生产环境
            PRODUCTION: JSON.stringify(false),
        },
    },
    globalStyle: ['./src/resource/style/public.less'],
    // configureWebpack: config => require('vux-loader').merge(config, require('./webpackConfig/vuxLoader.config.js')),
    dev: {
        port: '8011',
        autoOpenBrowser: true,
        openUrlPath: '/kwaitask/intro',
        proxyTable: {},
        assetsPublicPath: '/',
        assetsSubDirectory: 'static',
        mockDir: './mock',
    },
};

2.然后执行:

bun release

打包后的文件就会出现在build目录下。

mock

如果你想使用mock服务。

1.你需要先在config.js里配置好dev,和mock路径:

dev: {
    port: '8011',// 端口号
    autoOpenBrowser: true,// 是否自动打开浏览器
    openUrlPath: '/myapp',// 自动打开的页面地址
    proxyTable: {},// 代理
    assetsPublicPath: '/',// mock服务静态文件地址
    assetsSubDirectory: 'static',// mock服务静态文件夹名称
    mockDir: './mock',// mock数据的路径
},

2.然后执行:

bun rundev

打开http://localhost:8000/myapp/即可