2022-09-05 17:36:45 +08:00
|
|
|
## vue-live
|
|
|
|
> vue的live开发环境, 指在提供一个不需要编译打包的开发环境和生产环境。
|
|
|
|
|
|
|
|
### 特点
|
|
|
|
|
|
|
|
- 无需`vite、webpack、rollup`等任何打包工具, 一切都像传统jq开发一样。
|
|
|
|
- `All in ESM`, 所以浏览器需要比较新, 理论上最低 chrome v63, 建议 v95+。
|
|
|
|
- 可轻松支持`多页面应用`(万级无压力)。
|
|
|
|
- 支持直接用 `.vue 单文件组件`。
|
|
|
|
|
|
|
|
|
|
|
|
### 你需要知道的几个事情
|
|
|
|
|
|
|
|
- 因为没有编译过程, 一切都是基于`vue esm runtime`实时解析, 所以性能会有一定的下降(那点性能损耗一般可以忽略)。
|
|
|
|
- 因为没有打包, 所以所有的文件引用都是按源代码的结构, 对于源码的保护比较弱(虽然打包也没约等于没保护, 因为前端没秘密)。
|
|
|
|
- 因为是用的是原生的`ESM`,所以引用的**依赖/文件**, 需要完整的路径, 不得省略后缀名, 更不能省略`index.js/index.vue`。
|
|
|
|
- 因为没有专门处理样式, 所以原来的`scoped`不可用, 自行使用`命名空间`的方式实现样式隔离; 相应的, vue中的 `>>>、:deep、v-deep`等功能不可用。
|
|
|
|
- `单文件组件`中的样式, 如果是用scss, 不支持引用其他文件, 也不支持设置共用定义文件。
|
|
|
|
- 样式预处理器, 只支持scss, 不支持less。
|
|
|
|
|
|
|
|
|
|
|
|
### 适用场景
|
|
|
|
|
|
|
|
- 开源小项目, 如 一些在线演示的小项目, 或者`wpa`
|
|
|
|
- `electron`应用, 能很好控制浏览器内核版, 并且electron的打包, 可以把代码打成asar, 对源码有一定的保护作用
|
2022-10-10 19:37:41 +08:00
|
|
|
- 多页应用(MPA), 页面较多(好几百个), 并且各页面之间比较独立(没有太多实时通信)。
|
|
|
|
|
|
|
|
|
|
|
|
### 使用
|
|
|
|
|
|
|
|
1. 先全局安装 `@bytedo/vue-live-cli`, 再用它来创建项目
|
|
|
|
|
|
|
|
```bash
|
|
|
|
sudo npm i -g @bytedo/vue-live-cli
|
|
|
|
```
|
|
|
|
2. 创建项目
|
|
|
|
|
|
|
|
```bash
|
|
|
|
mkdir vue-demo
|
|
|
|
cd vue-demo
|
|
|
|
vue-live-cli init
|
|
|
|
```
|