最近用vue2做了一个微信商城项目,因为做的比较仓促,所以一边写一下整个流程,一边稍做优化。

  项目github地址:https://github.com/seven9115/vue-fullstack

  所用技术栈:Express+Mongoose(MongoDB)+Vue2。

  运行环境:node.js

  后台框架:express.js

  数据库:Mongoose.js (MongoDB)

  前端脚手架:vue-cli

  用户认证:JSON WEB TOKEN

  所用插件:vue-scroller/touchslider/layer。

  关于前后端分离:restful接口。

  关于跨域:proxyTable,代理模式。

  关于请求:axios+promise。

  关于页面状态:vuex+sessionstorge。

部分效果图:

起始环境

1、安装node.js(下载地址)

2、安装淘宝镜像,没有vpn的情况下建议安装。没有安装的话后续install npm包,cnpm替换成npm。

npm install -g cnpm --registry=https://registry.npm.taobao.org

3、全局安装vue-cli

cnpm install --global vue-cli

4、创建工作空间:在命令行输入以下命令,我这里直接安装在E盘,取名wechat。

E:
vue init webpack wechat

wechat是项目名称。

命令输入后,会进入安装阶段,需要用户输入一些信息

  Project name (wechat)                    项目名称(注:名字不能有大写字母)。

  Project description (A Vue.js project)  项目描述,也可直接点击回车,使用默认名字。

  Author (........)       作者。

  Runtime + Compiler: recommended for most users    运行加编译,推荐,后面我一般一直敲回车。

  Runtime-only: about 6KB lighter min+gzip, but templates (or any Vue-specificHTML) are ONLY allowed in .vue files - render functions are required elsewhere   仅运行时,选择第一个。

  Install vue-router? (Y/n)    是否安装vue-router,这是官方的路由,大多数情况下都使用。

  Use ESLint to lint your code? (Y/n)      是否使用ESLint管理代码,ESLint是个代码风格管理工具,是用来统一代码风格的,并不会影响整体的运行,这也是为了多人协作,新手就不用了,一般项目中都会使用。ESLint官网

  接下来也是选择题Pick an ESLint preset (Use arrow keys)            选择一个ESLint预设,编写vue项目时的代码风格,因为我选择了使用ESLint

  Standard (https://github.com/feross/standard)    js的标准风格

  AirBNB (https://github.com/airbnb/javascript)    JavaScript最合理的方法,这个github地址说的是JavaScript最合理的方法

  none (configure it yourself)    这个不用说,自己定义风格

  具体选择哪个因人而异吧  ,我选择标准风格

  Setup unit tests with Karma + Mocha? (Y/n)  是否安装单元测试,我选择安装

  Setup e2e tests with Nightwatch(Y/n)?     是否安装e2e测试 ,我选择安装

完成

此时进入项目文件夹,安装依赖包,运行项目,可在浏览器看到 http://localhost:8080/#/ 初始页面。

1、cd wechat 进入项目目录。

2、cnpm install 安装依赖包

3、npm run dev 运行开发环境。

安装mongodb:从mogodb官网下载mongodb并安装。

设置跨域代理:修改项目根目录下/config/index.js里dev属性增加

  proxyTable:{
'/api': {
// 测试环境
target: 'http://localhost:8088/api', // 接口域名
changeOrigin: true, //是否跨域
pathRewrite: {
'^/api': '' //需要rewrite重写的,
}
}
}

mongoose建立rest接口服务:由于篇幅太长了,放到下一篇继续写,github上现己更新测试接口代码。项目github地址:https://github.com/seven9115/vue-fullstack 。

Express+Mongoose(MongoDB)+Vue2全栈微信商城项目全记录(一)的更多相关文章

  1. Express+Mongoose(MongoDB)+Vue2全栈微信商城项目全记录(二)

    用mogoose搭建restful测试接口 接着上一篇(Express+Mongoose(MongoDB)+Vue2全栈微信商城项目全记录(一))记录,今天单独搭建一个restful测试接口,和项目前 ...

  2. Express+Mongoose(MongoDB)+Vue2全栈微信商城项目全记录

    最近用vue2做了一个微信商城项目,因为做的比较仓促,所以一边写一下整个流程,一边稍做优化. 项目github地址:https://github.com/seven9115/vue-fullstack ...

  3. 一款基于SSM框架技术的全栈Java web项目(已部署可直接体验)

    概述 此项目基于SSM框架技术的Java Web项目,是全栈项目,涉及前端.后端.插件.上线部署等各个板块,项目所有的代码都是自己编码所得,每一步.部分都有清晰的注释,完全不用担心代码混乱,可以轻松. ...

  4. Vue2.0+Node.js+MongoDB全栈打造商城系统 免费下载

    <ignore_js_op> 课程目录||--第01章 课程介绍|    01-01 课程-导学.mp4|    01-02 前端框架回顾.mp4|    01-03 vue概况以及核心思 ...

  5. vue2.0+node.js+mongodb全栈打造商城

    Github地址:https://github.com/ccyinghua/vue-node-mongodb-project 一.构建项目所用: vue init webpack vue-node-m ...

  6. Vue2.0+Node.js+MongoDB全栈打造商城系统

    vue.js +axios mock数据 在main.js中 import axios from 'axios' Vue.prototype.$ajax = axios webpack.dev.con ...

  7. [node.js]express+mongoose+mongodb的开发笔记

    时间过得很快,6月和7月忙的不可开交,糟心的事儿也是不少,杭州大连来回飞,也是呵呵. 希望下个阶段能沉浸下来,接着学自己想学的.记一下上几周用了几天时间写的课设.因为课设的缘故,所以在短时间里了解下e ...

  8. 巨蟒python全栈开发flask9 项目开始1

    1.项目需求分析 立项:Javis&&taisen(三个月全部,先模拟出一个玩具,硬件需要周期长一些) 想法 --- 需求分析: .通过玩具与孩子实时进行沟通 .希望玩具的知识渊博 . ...

  9. spring boot + vue + element-ui全栈开发入门——项目部署

     前言 常用的部署方式有两种: 1.是把生成好的静态页面放到spring boot的static目录下,与打包后的spring boot项目一起发布,当spring boot运行起来后,自然而然就能访 ...

随机推荐

  1. bolg项目

    写代码要尽可能的捕获异常 模板的路径可以直接放到TEMPLATES里面的DIRS当中,TEMPLATE_DIRS可以取消掉 设置static静态文件STATICFILES_DIRS里面,这是一个元组 ...

  2. Android:日常学习笔记(9)———探究广播机制

    Android:日常学习笔记(9)———探究广播机制 引入广播机制 Andorid广播机制 广播是任何应用均可接收的消息.系统将针对系统事件(例如:系统启动或设备开始充电时)传递各种广播.通过将 In ...

  3. webbrowser控件——Windows下的开发利器

    首先说明,本人比较菜,做C++没多长时间. 刚开始用MFC写程序时,连个基本的字体都不会变(颜色.大小等), 索性干脆就啥也不改了,直接默认,界面就那样了,老子不管了. 心想这C++做个界面咋就那么麻 ...

  4. String和StringBufffer的区别

    string的字符串操作都是废弃已有的对象,开辟一个新的内存空间创建一个新的对象 比如一个string str= "字符串"; str += "a"; 这样的操 ...

  5. 阿拉伯数字转中文大写数字的JS

    function intToChinese ( str ) { str = str+''; var len = str.length-1; var idxs = ['','十','百','千','万' ...

  6. Linux下检测IP访问特定网站的ruby脚本

    root@ubuntu:~# vi check_ip.rbrequire 'rubygems' index = 1 max = 20 while (max-index) >= 0 puts in ...

  7. MyBatis联合查询association使用

    1.需求 两张表 channels(频道表)  member(会员表) 频道表里面有会员id,查询频道列表的时候需要关联查询出会员的名称,头像等信息 . 2.channels.xml定义,配置主要在这 ...

  8. 如何编写 Makefile

     1. 目标 依赖 命令 make会比较targets文件和prerequisites文件的修改日期,如果prerequisites文件的日期要比targets文件的日期要新,或者target不存在的 ...

  9. hdu 5147 Sequence II 树状数组

    Sequence II Time Limit: 5000/2500 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Prob ...

  10. Http协议与生命周期

    一.Http知识:    1.基于socket        浏览器(格式一)        web服务器(格式一)        MYSQL客户端(格式二)        MYSQL服务端(格式三) ...