1 | # bun
|
2 | [![NPM version](https://img.shields.io/npm/v/bunjs.svg)](https://www.npmjs.com/package/bunjs)
|
3 | [![NPM downloads](https://img.shields.io/npm/dm/bunjs.svg)](https://www.npmjs.com/package/bunjs)
|
4 |
|
5 | bun是一款基于koa2的web框架,它拥有标准的mvc结构,你可以从任何server语言无缝迁移,它帮你实现了路由、日志、渲染等模块,给你最完美的开发体验。它可以轻松构建起一个企业级的web应用,即使你是从没有开发过服务端的前端人员,你也可以一键生成自己的应用并快速上手。
|
6 | bun专门对ssr做了封装,提供配套的ssr工具,使得你可以一键生成一个ssr项目,目前已经支持vue,react的ssr。
|
7 |
|
8 | bun取名传统美食:包子。寓意是希望包住所有干扰开发者的东西,让开发者更加专注于做自己的事情。
|
9 |
|
10 | bun的核心功能:
|
11 | - 开箱即用
|
12 | - 约定高于配置
|
13 | - 支持多个app统一部署,并互相独立
|
14 | - 完整的开发日志(包含业务日志,报警日志,错误日志)
|
15 | - 完整的MVC开发体验
|
16 | - MVC类的全局自动加载,支持自定义全局加载模块,更加简洁快速的开发
|
17 | - 完善的cli命令工具和脚手架
|
18 | - 统一的前端打包工具
|
19 | - ssr
|
20 |
|
21 | bun是一整套工具的合集
|
22 | - bun-skin bun的核心node框架
|
23 | - bun-cli bun的cli命令行工具
|
24 | - bun-project bun的node工程模板
|
25 | - bun-app bun的app模板
|
26 | - bun-vueapp bun的vueapp模板
|
27 | - bun-vueapp-ssr bun的vueapp的ssr模板
|
28 | - bun-reactapp bun的reactapp的模板(包含ssr)
|
29 | - bun-vuessr-plugin bun的vuessr插件
|
30 | - bun-reactssr-plugin bun的reactssr插件
|
31 |
|
32 | ## 依赖
|
33 |
|
34 | - [node](https://nodejs.org) (v6.0.0+)
|
35 | - [koa](https://koa.bootcss.com) (v2.0.0+)
|
36 | - [typescript](https://www.typescriptlang.org/) (v3.5.0+)
|
37 |
|
38 | ## 安装:
|
39 |
|
40 | ```
|
41 | npm i -g bunjs
|
42 | ```
|
43 | ## 构建项目工程框架:
|
44 |
|
45 | ```
|
46 | bun init project
|
47 | ```
|
48 | 根据提示输入名称,如myProject。
|
49 | 然后cd进入新创建的project目录,执行:
|
50 |
|
51 | ```
|
52 | npm install
|
53 | ```
|
54 | 一个项目工程构建完成。
|
55 | ## 创建app
|
56 | 然后退回到上一级目录,并创建一个新的app:
|
57 |
|
58 | ```
|
59 | cd ..
|
60 | bun init app
|
61 | ```
|
62 | 根据提示输入app名称,如myapp。
|
63 | 然后cd进入新创建的app目录,执行:
|
64 |
|
65 | ```
|
66 | npm install
|
67 | ```
|
68 | ## 编译部署
|
69 | 然后编译当前app内容到工程目录:
|
70 |
|
71 | ```
|
72 | bun r -d -t ../myProject
|
73 | ```
|
74 | 开发环境下,可加上:
|
75 |
|
76 | -d参数:使用开发模式打包编译(不会进行压缩等)
|
77 |
|
78 | -w参数:实时监听文件修改,自动打包编译
|
79 |
|
80 | ## 启动项目
|
81 | 然后,回到project目录,启动项目:
|
82 |
|
83 | ```
|
84 | cd myProject
|
85 | bun run myProject
|
86 | ```
|
87 | 默认端口是8000,打开http://localhost:8000/myapp/home 即可看到示例页面
|
88 |
|
89 | ## 其它
|
90 | 工具内置了pm2作为进程保护,可以监听文件修改自动重新启动,你可以执行:
|
91 |
|
92 | ```
|
93 | bun restart myProject //重启项目
|
94 | bun stop myProject //停止项目
|
95 | bun run myProject -w //自动重启项目
|
96 | ```
|
97 | ## vue
|
98 | 我们对react和vue等热门前端框架进行了支持,
|
99 | 如果你想使用vue,你可以这样创建app:
|
100 |
|
101 | ```
|
102 | bun init vueapp
|
103 | ```
|
104 | 打开http://localhost:8000/myapp/ 即可看到示例页面
|
105 |
|
106 | 我们还对vue做了ssr支持,你需要创建一个新的vueappssr:
|
107 | ```
|
108 | bun init vueappssr
|
109 | ```
|
110 | 你还需要引入一个ssr插件:
|
111 | ```
|
112 | npm i --save bun-vuessr-plugin
|
113 | ```
|
114 | 然后在conf/plugins.js中做好声明即可使用:
|
115 |
|
116 | ```
|
117 | exports.SSR = {
|
118 | enable: true,
|
119 | package: 'bun-vuessr-plugin'
|
120 | };
|
121 | ```
|
122 | 插件的具体使用方法请移步这里:https://github.com/bunjs/bun-vuessr-plugin
|
123 |
|
124 | ## react
|
125 | 如果你想使用react,你可以这样创建app:
|
126 |
|
127 | ```
|
128 | bun init reactapp
|
129 | ```
|
130 | 打开http://localhost:8000/myapp/ 即可看到示例页面
|
131 |
|
132 | 我们还对react做了ssr支持,
|
133 | 针对react,你不需要创建ssrapp,只需安装一个插件,你可以很方便在project目录下安装插件:
|
134 |
|
135 | ```
|
136 | npm i --save bun-reactssr-plugin
|
137 | ```
|
138 | 然后在conf/plugins.js中做好声明即可使用:
|
139 |
|
140 | ```
|
141 | exports.SSR = {
|
142 | enable: true,
|
143 | package: 'bun-reactssr-plugin'
|
144 | };
|
145 | ```
|
146 | 插件的具体使用方法请移步这里:https://github.com/bunjs/bun-reactssr-plugin
|