Vue+Node+MongoDB实现商城系统——1、2章:基础配置

第一章 框架及导学

1.1 Vue和React框架对比

相较于Vue和react,angular更像是一套完整的项目解决方案,框架本身也较大,所以在此不进行讨论

Vue:
- 模板和渲染函数的弹性选择
- 简单的语法及项目创建
- 更快的渲染速度和更小的体积
React:
- 更适用于大型应用和更好的可测试性
- 同时适用于web端和原生App
- 更大的生态圈带来的更多支持和工具
共同点:
- 利用虚拟DOM实现快速渲染(vue2.0开始使用virtual dom)
- 轻量级
- 响应式组件(在页面改变后,组件实时变化)
- 支持服务器端渲染,ssr
- 易于集成路由工具,打包工具以及状态管理工具
- 优秀的支持和社区
说明:Vue核心思想:数据驱动,状态管理,组件化

1.2 Vue双向绑定的实现

核心:Object.defineProperty().通过设置属性的get,set函数来动态设置值。当给属性设置get,set时,只要修改属性就会自动触发set,获取值就会触发get

<body>
    <input id='inputVal' type='text'>
    <div id='showVal'></div>
    <script type="text/javascript">
          //1、设置属性
        var obj = {};
        Object.defineProperty(obj,'userName',{
            get:function(){
                console.log()
            },
            set: function(newValue){
                document.getElementById('userName').value = newValue
                document.getElementById('uName').innerText = newValue
            }
        })
        //监听事件并改变对应属性
        document.getElementById('userName').addEventListener('keyup',function(event){
            obj.userName = event.target.value
        })
    </script>
</body>
1.3 课程导学
  • 项目涵盖功能:商品列表、购物车、地址、结算、订单及登录模块
  • 项目技术栈:前端使用Vue全家桶及ES6,后端Node+Express ,DB用MongoDB
  • 课程安排: 1、2章:vue基础知识 ; 3.4章VueRouter,axios,vureResource; 5章:ES6常用语法; 6-14章 商城项目开发; 15章 vuex实现商城登录,购物车数量等功能; 16章 webpack使用; 17章 线上部署

第二章 环境配置

2.1 node和npm环境

window下,直接官方下载node(附有npm)

2.2 vue环境

1、多页面应用: 只需要在页面中通过\

2.3 Vue配置
目录结构
|-- build
|--  |-- *.js
|-- config
|-- |-- *.js
|-- src
|-- | -- App.vue
        main.js
        assests
        component
        router
|--static
|-- .babelrc
|-- .gitignoor
|-- .postCssrc.js
|-- index.html
|--  package.json
|--  README.md
一、build文件

项目打包以及配置文件存放目录

1、webpack.base.conf.js 核心关注

2、build.js :加载webpack和index.js,并打包

require('./check-versions')() //引入版本检查,并立即执行

process.env.NODE_ENV = 'production' //配置为生产环境

var ora = require('ora') //日志输出
var rm = require('rimraf') //移除文件
var path = require('path') //node自带的路径模块
var chalk = require('chalk') //用于控制台输出带颜色的字体
var webpack = require('webpack') //webpack核心模块
var config = require('../config') //../config/index.js文件引入(打包相关配置信息)
var webpackConfig = require('./webpack.prod.conf') //开发环境配置

var spinner = ora('building for production...') //输出日志
spinner.start() //进入loading状态

rm(path.join(config.build.assetsRoot, config.build.assetsSubDirectory), err => {
  if (err) throw err
  webpack(webpackConfig, function (err, stats) {
    spinner.stop()
    if (err) throw err
    process.stdout.write(stats.toString({
      colors: true,
      modules: false,
      children: false,
      chunks: false,
      chunkModules: false
    }) + '\n\n')

    console.log(chalk.cyan('  Build complete.\n'))
    console.log(chalk.yellow(
      '  Tip: built files are meant to be served over an HTTP server.\n' +
      '  Opening index.html over file:// won\'t work.\n'
    ))
  })
})

dev-client.js 热重载文件配置

dev-server.js 通过node express来启动的一个服务
- opn:一个自动打开的插件
- express: node 服务插件
- webpack: webpack打包插件
- proxyMiddleware: 代理中间件插件,用于前后端分离,跨域涉及到的一些插件

二、config文件

项目webpack配置文件存放目录

index.js 核心关注

三、src

项目源码文件

四、static

静态资源目录

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
针对基于Vue+Node的外卖系统的设计与实现,我可以给您提供以下方案: 1. 前端设计与实现 在前端设计方面,我们可以采用Vue框架进行开发。Vue框架具有轻量、高效、易于上手的特点,适合快速开发单页面应用程序。具体实现过程如下: - 使用Vue-cli进行脚手架搭建,搭建一个基本的Vue项目。 - 使用Vue-router进行路由管理,实现页面跳转。 - 使用Vuex进行状态管理,让组件之间的数据传递更加方便。 - 使用Element UI进行页面布局和组件设计,提高开发效率。 - 使用Axios进行网络请求,与后端进行数据交互。 2. 后端设计与实现 在后端设计方面,我们可以采用Node.js进行开发。Node.js是一种基于Chrome V8引擎的JavaScript运行环境,具有高效、轻量、跨平台等优点。具体实现过程如下: - 使用Express框架进行项目搭建,实现路由管理和中间件处理。 - 使用MongoDB进行数据存储,实现数据的增删改查等操作。 - 使用Passport.js进行用户认证,保障用户信息的安全性。 - 使用Socket.io实现实时通信功能,让订单状态更加实时可见。 3. 部署与上线 在部署与上线方面,我们可以采用以下方案: - 前端部署:使用Nginx进行反向代理,将前端资源打包成静态文件进行部署。 - 后端部署:将Node.js项目部署到云服务器上,并使用PM2进行进程管理和日志监控。 - 数据库部署:将MongoDB数据库部署到云服务器上,并使用Robo 3T进行可视化管理。 以上是基于Vue+Node的外卖系统的设计与实现方案,希望对您有所帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Sophie_U

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值