一、工具
Vue.js
Vue是一套用于构建用户界面的渐进式框架。Vue的核心库只关注视图层,不仅易于上手,还便于与第三方库或既有项目整合。
ElementUI
一套为开发者、设计师和产品经理准备的基于 Vue 2.0 的桌面端组件库。
可以直接去官网的组件中,选择想要的组件,复制代码直接使用。
NodeJs
Node.js 是能够在服务器端运行JavaScript 的开放源代码、跨平台 JavaScript 运行环境。
安装:sudo apt-get install nodejs
npm
npm 是 Node.js 官方提供的包管理工具,他已经成了 Node.js 包的标准发布平台,用于 Node.js 包的发布、传播、依赖控制。npm 提供了命令行工具,使你可以方便地下载、安装、升级、删除包,也可以让你作为开发者发布并维护包。
安装
sudo apt-get install nodejs
ps. 安装完后需要使用npm config set registry https://registry.npm.taobao.org
切换成淘宝镜像,不然速度很慢。
更新
npm i -g n
n latest
安装vue
npm i -g @vue/cli
服务端后台常驻进程
npm i -g nodemon
MongoDB
一个数据库
或
sudo apt-get install mongodb-server
Nginx
Nginx是异步框架的网页服务器,也可以用作反向代理、负载平衡器和HTTP缓存。简单来说,就是通过服务器通过Nginx替你找到html文件。
安装
sudo apt-get install nginx
配置
在线配置nginx:Go Nginx config
根据要求依次选择相应的
- 网站配置选项:Preset,域名等等
- 全局配置选项:刚开始基本不用管
下载/复制config文件
把config文件复制到服务器的
/etc/nginx/sites-available/
文件夹中,再在/etc/nginx/sites-enabled/
中创建一个软连接指向/etc/nginx/sites-available/
中的config文件例如域名为
test.com
:
cp sites-available/test.com.conf /etc/nginx/sites-available/
cd /etc/nginx/sites-avaible
sudo ln -s ../sites-available/test* /etc/nginx/sites-enabled/
Change me@example.com to your email
sudo certbot --non-interactive --redirect --agree-tos --nginx -d test.com -m me@example.com
二、搭建项目
项目初始化及其框架
以示例项目为例:
admin
是管理员界面项目,可以用vue create admin
来创建,里面包含public
和src
文件夹,src
文件夹就是源代码所在文件夹desktop
是pc桌面界面项目,可以用vue create desktop
来创建web
是移动端界面项目,可以用vue create web
来创建server
是nodejs组成的服务端项目,包括给后台和前端提供的接口。- 使用
mkdir server
创建文件夹后cd server
,使用npm init -y
初始化一个node项目(会生成一个package.json
文件) - 再在文件夹里新建一个
index.js
作为服务端入口文件 - 在
package.json
的scripts
中,插入一行"serve": "nodemon index.js",
。这样就可以在server中使用npm run serve
来运行服务器项目
- 使用
初始化完以后就可以cd进各个文件夹使用npm run serve
本地运行,查看每个项目的效果。
ps: 如果提示错误,可以先使用npm i
安装依赖
安装elementUI和路由
在admin
和desktop
中,使用vue add element
安装ElementUI,vue add router
安装路由。
vue项目文件说明
以admin
为例:
public
可以先不管src
是项目源代码components
是组件文件夹views
存放的主要是总体页面的代码,views
中新建.vue文件后,需要再../router.js
中增加路由
项目部署
服务器系统设置
Install Packages
Install Nodejs
sudo apt-get install nodejs
Install npm
sudo apt-get install npm
Config Taobao registry
npm config set registry https://registry.npm.taobao.org
Update Nodejs
npm i -g n
n latest
Reload cmd shell
Install pm2
npm i -g pm2
Install Mongodb
sudo apt-get install mongodb-server
Install Nginx
sudo apt-get install nginx
Install certbot
sudo apt install -y nginx certbot python-certbot-nginx
Setup
1 | cd desktop |
npm run build
可以编译成静态html文件,直接打开
把npm run build
改为npm run server
可以在本地测试网站效果
注意:build
之前需要把对应文件夹里的vue.config.js
(如:desktop/vue.config.js
)中的publicPath
的/
改为./
。outputDir:
可以改为你想要编译到的目的路径
以示例项目为例,build 后在desktop
中生产的dist
文件夹就是静态html文件目录,点击dist/index.html
就可以打开网站,把生成的dist
文件夹里的文件放到服务器的对应文件夹就可以访问了。