# 6.0发布须知

## 路由history模式

### nginx需要修改的地方如下

```bash
  location / {
    try_files $uri $uri/ /index.html;#需要修改此处
  }
```

- nginx 重启：`nginx -s reload`

### 前端需要修改的地方

- router中

```javascript
  const router = new VueRouter({
    mode: 'history', //后端支持可开
    routes: [...]
  })
```

- config/index.js 中

```javascript
  build: {
    // Template for index.html
    index: path.resolve(__dirname, '../dist/index.html'),

    // Paths
    assetsRoot: path.resolve(__dirname, '../dist'),
    assetsSubDirectory: 'static',

    // you can set by youself according to actual condition
    // assetsPublicPath: './',//带上#的情况
    assetsPublicPath: '/',//history模式，去掉#的情况
    ....
  }
```

## nginx开启gzip压缩功能

`vim /etc/nginx/nginx.conf`

修改如下，网上可参考其他的建议，修改完后`nginx`重启 `nginx -s reload`

```bash
gzip on;                    #开启gzip压缩功能
gzip_min_length 10k;         #设置允许压缩的页面最小字节数; 这里表示如果文件小于10个字节，就不用压缩，因为没有意义，本来就很小.
gzip_buffers 4 16k;         #设置压缩缓冲区大小，此处设置为4个16K内存作为压缩结果流缓存
gzip_http_version 1.1;      #压缩版本
gzip_comp_level 2;   #设置压缩比率，最小为1，处理速度快，传输速度慢；9为最大压缩比，处理速度慢，传输速度快; 这里表示压缩级别，可以是0到9中的任一个，级别越高，压缩就越小，节省了带宽资源，但同时也消耗CPU资源，所以一般折中为6
gzip types text/css text/xml application/javascript;      #制定压缩的类型,线上配置时尽可能配置多的压缩类型!
gzip_disable "MSIE [1-6]\.";       #配置禁用gzip条件，支持正则。此处表示ie6及以下不启用gzip（因为ie低版本不支持）
gzip vary on;    #选择支持vary header；改选项可以让前端的缓存服务器缓存经过gzip压缩的页面; 这个可以不写，表示在传送数据时，给客户端说明我使用了gzip压缩
```

## v6.0打包发布

### 执行以下命令要确保本机安装了Nodejs

- Nodejs安装
  - [下载地址](https://nodejs.org/en/)  建议安装（LTS版本）
  - 下载好文件后一路next安装到本机
  - 检查是否安装成功
  - 在 cmd 中执行 `node -v` `npm -v` 出现版本号说明安装成功！

``` bash
# sourceTree 拉取项目 http://192.168.1.222:3000/clq1010/WebUI_V6.git

# 命令行中进入项目目录 CallCenterWeb.UI

# 在这个CallCenterWeb.UI目录下，安装依赖（建议拉取后都执行下这个命令，避免团队其他成员安装依赖你的本地没有）
npm install

# 建议不要用cnpm  安装有各种诡异的bug 可以通过如下操作解决npm速度慢的问题
npm install --registry=https://registry.npm.taobao.org

# 修改配置信息
  - 要保持config/dev.env.js和static/config/serverconfig.json中配置信息一致；代码中读取的 serverConfig.json 的配置信息；
  - npm run build:prod 打包后会将config/prod.env.js中的信息导入dist/static/config/serverconfig.json中；
  - npm run build:sit 打包后会将config/sit.env.js中的信息导入dist/static/config/serverconfig.json中；

# 启动项目（如果仅仅打包发布不用执行这个命令）
npm run dev

# 打包
  - npm run build:prod //生产环境
  - npm run build:sit  //测试环境
# 命令行中出现  'Build complete' 代表打包成功

# 最后将 dist 文件夹的内的文件 全部复制到 192.168.5.42下的/home/web 目录下即可
  - 注意看是否需要覆盖 static/config/serverconfig.json 文件
```