Vue从开发到部署
1. 用vue-cli搭建一个vue项目
什么是vue-cli:
vue-cli是官方提供的一个脚手架,用于快速生成一个vue的项目模板;给我们预先定义好一个目录结构以及基础代码,就好比用maven构建一个骨架项目,我们在这个骨架上编写我们的代码。
主要的功能有:
统一目录结构、本地调试、热部署、单元测试、集成打包上线等。
需要的环境:
- Node.js 下载地址:http://node.js.cn/download/
- Git 下载地址:http://git-scm.com/downloads
具体的安装配置步骤就不逐一解释了,网上搜安装步骤都有。
确认node.js安装成功:
- cmd 下输入
node -v ,查看是否能打印出版本号,有版本号说明安装成功了
安装npm:
- npm 是一个软件包管理工具,就好比我们用maven的时候安装依赖,和npm功能一样的有cnpm,这两个的区别就是npm使用的国外镜像,在安装包依赖的时候下载速度会很慢,如果是cnpm可以用淘宝镜像,下载包依赖就会比较比较快
- 安装了Node.js会自带npm 查看npm是否是安装了就使用
npm -v 能打印版本号说明安装成功了
npm install cnpm -g
npm install --registry=https://registery.npm.taobao.org
安装vue-cli:
npm install vue-cli -g
vue list
创建一个vue-cli应用程序:
-
创建一个vue项目,我们随便建立一个空文件夹在电脑上面,我这里创建的目录为F:\myproject\vue -
创建一个基于webpack模板的vue应用程序
vue init webpack myvue
-
初始化并运行 cd myvue
npm install
npm run dev
如果出现下面这种情况: 照着提示执行npm audit fix 就行 最后运行项目: 会出现下面的地址,在浏览器里输入该地址就能看到运行的vue项目了
2. 项目分析与简单的代理配置
项目目录结构:
- build目录:当我们写完项目准备打包部署的时候,相关的打包规则都在写在build目录下面
- config目录:像我们常用的项目运行的端口号,代理地址都是在这里配置
- node_modules目录:我们
npm install xxx 安装的包依赖都是在这个目录下 - src目录:里面的main.js就是程序的主入口,components文件夹用于存放开发的组件
- index.html:运行在浏览器的vue项目就这一个HTML
- package.json:里面有项目名,对项目的描述,作者,启动方式,打包方式,依赖的版本控制
代理配置:
vue开发都是采用前后端分离的模式,前端vue和后端分开独立部署,这时候前端的ip地址+端口号往往与后端的ip地址+端口号不同。我们就需要将前后端的ip地址+端口号通过代理的方式映射到一起。
进入config目录下的index.js文件。我们能看到:
host:写前端运行的ip地址
port:写前端访问的端口号
proxyTable:前端接口的请求要映射到后端的接口路径上需要在这里面配置代理。
proxyTable: {
'/api':{
target: 'http://192.168.0.1:13002',
changeOrigin: true,
pathRewrite: {
'^/api': ''
}
}
更复杂的代理配置,比如配置多个代理,可以在根目录下创建一个vue.config.js里面配置,具体就不再详细描述可以看vue代理配置的官网:https://cli.vuejs.org/zh/config/#devserver-proxy
3. Nginx的安装
Nginx下载的官网地址:http://nginx.org/en/download.html
在Linux服务器上安装Nginx:
-
安装gcc 安装Nginx需要先将官网下载的源码进行编译,编译依赖gcc环境,如果没有gcc环境,则需要安装: yum install gcc-c++
-
PCRE pcre-devel 安装 PCRE(Perl Compatible Regular Expressions) 是一个Perl库,包括 perl 兼容的正则表达式库。nginx 的 http 模块使用 pcre 来解析正则表达式,所以需要在 linux 上安装 pcre 库,pcre-devel 是使用 pcre 开发的一个二次开发库。nginx也需要此库。命令: yum install -y pcre pcre-devel
-
zlib安装 zlib 库提供了很多种压缩和解压缩的方式, nginx 使用 zlib 对 http 包的内容进行 gzip ,所以需要在 Centos 上安装 zlib 库。 yum install -y zlib zlib-devel
-
OpenSSL安装 OpenSSL是一个强大的安全套接字层密码库,囊括主要的密码算法,常用的秘钥和证书封装管理功能即SSL协议,并提供丰富的应用程序测试或其他目的使用。 Nginx不仅支持http协议,还支持https协议,所以需要在Centos安装OpenSSL库。 yum install -y openssl openssl-devel
-
从官网下载好安装包后,将安装包上传到服务器上/root -
解压安装包 tar -zxvf nginx-1.20.1.tar.gz
cd nginx-1.20.1
-
配置 使用默认配置,在Nginx根目录下执行 ./configure
make
make install
查看安装路径:whereis nginx
Nginx常用命令:
cd /usr/local/nginx/sbin/
./nginx
./nginx -s stop
./nginx -s quit
./nginx -s reload
ps aux|grep nginx
安装好了直接访问80端口就行,如果访问失败,记得开放服务器的80端口安全组
4.Nginx的简单配置
进入Nginx的配置文件
cd /usr/local/nginx/conf
打开nginx.conf文件
整个配置文件结构大致如下:
#全局块
#user nobody;
worker_processes 1;
#event块
events {
worker_connections 1024;
}
#http块
http {
#http全局块
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
#server块
server {
#server全局块
listen 8080;
server_name localhost;
#location块
location / {
root html;
index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
#这边可以有多个server块
server {
...
}
}
当我们部署前端页面的时候要主要修改server块
server {
#server全局块
#listen监听的端口
listen 8080;
#server_name服务的ip地址
server_name localhost;
#location块 若访问localhost:8080/路径就会定位到该location
location / {
#root 指定访问nginx下目录文件里的html文件夹
root html;
#index 指定root文件夹下的入口文件
index index.html index.htm;
}
#当访问localhost:8000/api路径时就会被代理到 proxy_pass所指定的路径地址
location /api {
#注意代理地址后面那个'/'不能丢 这里的代理地址要和前面vue项目里面的代理地址相对应
proxy_pass http://192.168.0.1:13002/;
}
#error_page 指定错误页面
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
当修改了nginx配置后我们都必须执行一下./nginx -s reload 命令这样修改后的配置才会生效
5. 打包部署
前面已经搭建了一个vue项目这个时候我们要将vue项目打包部署到Linux服务器的nginx上。
我们来到之前的vue项目文件中执行npm run build 命令
当命令执行完后我们会发现在项目根目录文件下会多出一个dist 文件夹
将dist文件里面的static文件夹以及index按照原有的目录结构通过XFTP上传到服务器Nginx下的/usr/local/nginx/html 目录,这时一个简单的vue项目就打包部署好了。
|