【Nuxt】Nuxt做官网要求适配PC&Mobile,我的解决方案

简介: 前言项目终于进入了尾声,这段时间主要在忙公司官网的开发,前段时间我在忙另外一个项目的时候,官网这个项目就启动了,团队里的另外一个小伙伴居然用Vue-cli构建了一个项目去做官网,导致我很难李姐,所以我提出重构项目,由我主导开发,写篇文章记录一下项目信息以及部分关键点。

技术选型

基础框架 & UI库

基于公司前端团队的小伙伴们都是Vuer,所以毫无质疑,使用Nuxt作为基础框架,UI库没有选,因为做的是官网,好多组件的样式都是比较开放的,很多UI库拿来之后,还得再调,太麻烦,自己去写感觉还是比较爽的。当然项目里UI库的开发参考了Element UI 以及 Vant UI的源码,封装了InputButtonRadioForm等等,学习+实践。

打包工具

Webpack

移动端适配方案

postcss-px-to-viewport真香

PC & Mobile的切换方案

本身考虑的是做媒体查询,但是奈何优秀的UI同学&产品同学的超高水平,大到整体的布局,小到一个标点符号,都有一定程度的修改,所以如果用媒体查询的话,个人认为:1.开发体验较差 2.可维护性较差 3.工作量大 4. 就很不爽。所以考在考虑多方面因素后,决定做M站(古老的方法,但是真香),PC站 & M站 之间的切换方案用的是 Nginx的机型查询。

技术栈归档:

  1. 项目架构:Nuxt + Webpack + Self UI(自己的UI)+ Element Ui + Vant Ui
  2. 代码风格:esLint + prettier
  3. UE:WoW.js + animate.css + page-transition.css + normalize.css
  4. 伪CI/CD(手动狗头):ssh脚本部署
  5. web服务器:Nginx
  6. 进程守护: pm2

前端的同学们可能不太涉及到的点

部署

部署这块,因为我们公司的服务器有限,而且项目比较轻量级,所以部署采用了点对点的SSH部署方式

本地新建.deploy.test.sh

npm run build:test #执行打包命令
tar -zcf dist.tar.gz engconfig.js nuxt.config.js package.json static .nuxt #打一个tar包
sudo scp -i ~/.ssh/id_rsa -r $1 abc@11.22.333.444:/data/......... #上传服务器,$1就是本地dist.tar.gz绝对路径
rm -rf dist.tar.gz .nuxt # 用完删了
复制代码

prod、stage等等环境 同理。

web服务器&进程守护

因为是服务端渲染,我也不是用的generate的打包方式,所以需要在服务器上起一个web server来渲染我的网站,用到了Nginx 和 pm2。

Nginx配置点就是proxy_pass

location / {
    proxy_pass http://localhost:3030
}
复制代码

pm2启动

pm2 start npm --name "xx" -- run start
复制代码

基本就是这些


目录
相关文章
|
1月前
|
移动开发 小程序 JavaScript
Uniapp 中,能够同时兼容H5、web、app、微信小程序的引入高德地图的语法格式
Uniapp 中,能够同时兼容H5、web、app、微信小程序的引入高德地图的语法格式
183 0
|
1月前
|
开发框架 移动开发 小程序
【微信小程序】-- 配置uni-app的开发环境(四十八)
【微信小程序】-- 配置uni-app的开发环境(四十八)
|
21天前
|
JavaScript Java 测试技术
基于ssm+vue.js+uniapp小程序的多功能智能手机阅读APP附带文章和源代码部署视频讲解等
基于ssm+vue.js+uniapp小程序的多功能智能手机阅读APP附带文章和源代码部署视频讲解等
16 0
|
1月前
|
移动开发 JavaScript 前端开发
学习vue3使用在线官方开发环境play.vuejs.org进行测试
学习vue3使用在线官方开发环境play.vuejs.org进行测试
23 1
|
1月前
|
Android开发 iOS开发
uniapp如何原生app-云打包
uniapp如何原生app-云打包
74 0
|
10月前
|
JavaScript 前端开发 Android开发
uniapp+vue+uview适配安卓4.4项目实现简单登录和操作页面
uniapp+vue+uview适配安卓4.4项目实现简单登录和操作页面
207 0
|
资源调度 前端开发 JavaScript
Vue3.0 项目启动(打造企业级音乐App)
Vue3.0 项目启动(打造企业级音乐App)
109 0
|
存储 资源调度 IDE
VUE搭建云音乐播放器(App版本)
本项目使用vue2+vue-cli实现了一个简易的网易云音乐(App版本),实现了歌曲的首页推荐展示,歌曲的搜索,评论的展示以及歌曲的播放四个主要功能模块,主要用来练手,效果如下图所示:
1624 8
VUE搭建云音乐播放器(App版本)
|
小程序 前端开发 Android开发
【uniapp小程序】—— APP项目云打包(安卓)
【uniapp小程序】—— APP项目云打包(安卓)
789 0
【uniapp小程序】—— APP项目云打包(安卓)
|
前端开发 Android开发
vue-cli 项目配置 lib-flexible【阿里手淘移动端自适应解决方案】
vue-cli 项目配置 lib-flexible【阿里手淘移动端自适应解决方案】
vue-cli 项目配置 lib-flexible【阿里手淘移动端自适应解决方案】