# 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 文件 ```