<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
  <channel>
    <title>github1586 (BOBO)</title>
    <link>https://ruby-china.org/github1586</link>
    <description/>
    <language>en-us</language>
    <item>
      <title>基于 Vue + Nuxt 打造 O2O 教育商城系统 (触屏版) 服务端渲染 SSR</title>
      <description>&lt;p&gt;vue-bnhcp&lt;/p&gt;

&lt;p&gt;Node.js(v6.9.1) + express(4.X) + vue(2.0) + vuex + mysql(5.7.18) + （NUXT）SSR + nginx 反向代理&lt;/p&gt;

&lt;p&gt;前言&lt;/p&gt;

&lt;p&gt;*本项目纯属个人练习项目，数据并非真实，如有雷同，纯属巧合。&lt;/p&gt;

&lt;p&gt;项目： &lt;a href="https://github.com/github1586/vue-bnhcp" rel="nofollow" target="_blank"&gt;https://github.com/github1586/vue-bnhcp&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;本项目是公司项目，公司的技术实现是 cakephp php 的 mvc 框架，由于 cakephp view 模板 ctp 和 html 写在同一 文件，前端部分（view）页面惨不忍睹，难维护，效率低，沟通成本大，迫于无奈，奔着君子动手不动口的原则（所有的技术不是口头上的，需要自己动手，踩坑，你才可以成长），闲暇之余 利用 vue + srr + node + mysql nginx 代理 重构本项目，这样既加强了对 vue 的学习认知，也很好的把 vue 和 node 结合，对于数据库的选型，mysql，比较稳定，更通用，老牌值得信赖 ～～由于时间并不充裕，功能实现可能的并不完美，我尽力按需求文档实现～～～现在的页面大概有 20 个左右，涉及注册、登录、课程列表、课程详情、购物车、提交订单、个人中心等等，最终完成应该会有 50 个页面左右～需要时间啊...&lt;/p&gt;

&lt;p&gt;项目持续进行中~&lt;/p&gt;

&lt;p&gt;NUXT 能为我们做什么&lt;/p&gt;

&lt;p&gt;问题 1：就是我们无需为了路由划分而烦恼，你只需要按照对应的文件夹层级创建 .vue 文件就行&lt;/p&gt;

&lt;p&gt;问题 2：无需考虑数据传输问题，nuxt 会在模板输出之前异步请求数据（需要引入 axios 库），而且对 vuex 有进一步的封装&lt;/p&gt;

&lt;p&gt;问题 3：内置了 webpack，省去了配置 webpack 的步骤，nuxt 会根据配置打包对应的文件&lt;/p&gt;

&lt;p&gt;还有很多便捷之处，可以尝试去写一写，读读源码&lt;/p&gt;

&lt;p&gt;项目截图&lt;/p&gt;

&lt;p&gt;&lt;img src="https://l.ruby-china.com/photo/2017/4f148448-c185-4f63-89a5-8fc101db2b64.jpg!large" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src="https://l.ruby-china.com/photo/2017/37570b4a-5a75-422f-baa7-f1886998f019.jpg!large" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src="https://l.ruby-china.com/photo/2017/51f57b7c-c6a4-4394-970c-aaf8ee845d19.gif!large" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src="https://l.ruby-china.com/photo/2017/21d6ed5f-ee53-41c4-a0cc-a03c3a515366.gif!large" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src="https://l.ruby-china.com/photo/2017/1d94b36e-a6cb-461a-8504-97364d871b2b.gif!large" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src="https://l.ruby-china.com/photo/2017/835c24e1-e0a0-4301-9575-76b7d666c68e.gif!large" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;感谢～&lt;/p&gt;

&lt;p&gt;如果我的项目对您有所帮助，您可以点右上角 "Star" 支持一下 感谢～～！&lt;/p&gt;

&lt;p&gt;git clone 项目地址 进入 local 文件夹 cd template 里面是本地（node）写死的数据可以&lt;/p&gt;

&lt;p&gt;然后 -- yarn install 和 npm run dev&lt;/p&gt;

&lt;p&gt;另一种 也可以找我 拿 sql 文件，自己跑本地服务&lt;/p&gt;

&lt;p&gt;线上项目地址：&lt;a href="http://bnhcp.pboss.ccGoogle" rel="nofollow" target="_blank"&gt;http://bnhcp.pboss.ccGoogle&lt;/a&gt;（Chrome 观看更佳）&lt;/p&gt;

&lt;p&gt;扫码 进入 项目&lt;/p&gt;

&lt;p&gt;&lt;img src="https://l.ruby-china.com/photo/2017/e7b98bc9-d46d-4453-ad49-a321a8a805e3.png!large" title="" alt=""&gt;&lt;/p&gt;

&lt;p&gt;有疑问或者项目有什么问题 可以联系企鹅 995189950 微信搜索：node-s 或者 Issues me&lt;/p&gt;

&lt;p&gt;欢迎大家来给我提提意见 互相探讨~&lt;/p&gt;

&lt;p&gt;部署&lt;/p&gt;

&lt;p&gt;阿里云 ECS 服务器 centos7&lt;/p&gt;

&lt;p&gt;0、安装配置 nvm（node）mysql nginx（Tengine）&lt;/p&gt;

&lt;p&gt;1、下载 xftp 连接自己服务器，把自己的项目丢进去。&lt;/p&gt;

&lt;p&gt;2, cd myproject&lt;/p&gt;

&lt;p&gt;3, yarn install (npm install)&lt;/p&gt;

&lt;p&gt;4、配置数据库配置文件&lt;/p&gt;

&lt;p&gt;5、配置 nginx 文件 进行代理 代理所有 80 端口&lt;/p&gt;

&lt;p&gt;6, npm run dev&lt;/p&gt;

&lt;p&gt;7, npm run build&lt;/p&gt;

&lt;p&gt;8、上面忘记安装 pm2，yarn add pm2（开启 node server 使用）&lt;/p&gt;

&lt;p&gt;9, pm2 start build/mian.js&lt;/p&gt;

&lt;p&gt;10、查看 pm2 list 列表，查看启动状态&lt;/p&gt;

&lt;p&gt;11、pm2 monit 监视所有进程&lt;/p&gt;

&lt;p&gt;12、开启 ./nginx&lt;/p&gt;

&lt;p&gt;13、如果一切正常，但是访问不通，可以 pm2 logs 查看是否报错？&lt;/p&gt;

&lt;p&gt;完成功能&lt;/p&gt;

&lt;p&gt;首页渲染
课程的分类搜索
课程 按（智能排序 价格最高 价格最低 老师好评 人气最高）排序
课程 按（班级类型 活动优惠 上课时间（周一到周日）具体时间（上午下午晚上）价格区间）筛选
完成课程列表的下拉加载更多
课程详情
预约试听
分类页面
我的页面
提交订单
登录（注册暂无）
设置页面
优惠券页面
钱包页面
阿里云部署
预计功能&lt;/p&gt;

&lt;p&gt;购物车（尚未完整）
头像上传
家长添加孩子
报名
优惠券
我的订单
机器人客服
redis 首页缓存（有些页面没有在此处写，根据项目进度往上加~）
个人&lt;/p&gt;

&lt;p&gt;爱生活 爱技术 爱折腾&lt;/p&gt;

&lt;p&gt;Build Setup&lt;/p&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;
&lt;span class="nb"&gt;install &lt;/span&gt;dependencies

&lt;span class="nv"&gt;$ &lt;/span&gt;npm &lt;span class="nb"&gt;install &lt;/span&gt;or yarn &lt;span class="nb"&gt;install

&lt;/span&gt;serve with hot reload at localhost:3000

&lt;span class="nv"&gt;$ &lt;/span&gt;npm run dev

&lt;/code&gt;&lt;/pre&gt;</description>
      <author>github1586</author>
      <pubDate>Wed, 23 Aug 2017 14:52:19 +0800</pubDate>
      <link>https://ruby-china.org/topics/33908</link>
      <guid>https://ruby-china.org/topics/33908</guid>
    </item>
  </channel>
</rss>
