博客
关于我
前端与移动开发----Vue----vue配合webpack工程化实践
阅读量:121 次
发布时间:2019-02-26

本文共 3314 字,大约阅读时间需要 11 分钟。

Vue与Webpack工程化实践

项目背景

本项目旨在通过Vue.js与Webpack进行前端工程化开发,构建一个英雄管理系统。该系统包含英雄列表、装备列表、技能列表等模块,并支持添加、编辑、删除等功能。项目采用单文件组件(SFC)模式,结合路由实现前后端分离的全栈开发。

Webpack配置

基本概念

Webpack是一款前端打包工具,能够对JS模块进行包装。其核心功能包括:

  • 模块打包:将多个文件打包成一个或多个文件。
  • 依赖管理:处理第三方库和内部模块的依赖。
  • 开发服务器:提供实时打包和重载功能。
  • 代码调试:通过Source Map追踪代码错误。
  • 安装与配置

  • 初始化项目:

    npm init --yes
  • 安装开发依赖:

    npm i -D webpack webpack-cli webpack-dev-server vue-loader vue-style-loader html-webpack-plugin
  • 创建webpack.config.js

    const path = require('path');const VueLoaderPlugin = require('vue-loader/plugin');const HtmlWebpackPlugin = require('html-webpack-plugin');module.exports = {  devServer: {    host: '127.0.0.1',    port: 10088,    open: true,  },  output: {    path: path.join(__dirname, './dist'),    filename: 'bundle.js',  },  entry: './src/main.js',  module: {    rules: [      {        test: /\.vue$/,        use: 'vue-loader',      },    ],  },  plugins: [    new HtmlWebpackPlugin({      minify: {        removeComments: true,        collapseWhitespace: true,        minifyCSS: true,      },      filename: 'index.html',      template: path.resolve('./public/index.html'),    }),    new VueLoaderPlugin(),  ],};
  • 安装Vue相关依赖:

    npm i vue
  • 项目结构

    项目目录结构如下:

    heros/├── public/│   └── index.html├── src/│   ├── main.js│   ├── app.vue│   └── components/│       ├── header.vue│       └── sideBar.vue├── dist/└── public/    └── index.html

    Vue组件开发

    单文件组件(SFC)

    单文件组件的结构包括templatescriptstyle部分:

    组件注册

    在主组件中注册子组件:

    路由实现

    安装Vue Router

    npm i vue-router

    配置路由

    import VueRouter from 'vue-router';import Index from './pages/index.vue';import Add from './pages/add.vue';const router = new VueRouter({  routes: [    { path: '/', redirect: '/hero' },    { path: '/hero', component: Index },    { path: '/add', component: Add },  ],});export default router;

    路由使用

    在主组件中挂载路由:

    动态路由参数

    Index.vue中使用路由参数:

    数据接口

    使用json-server

    安装并运行json-server:

    json-server db.json

    数据请求

    使用axios进行数据请求:

    import axios from 'axios';export default {  data() {    return {      heroes: [],    };  },  methods: {    loadData() {      axios({        method: 'get',        url: 'http://localhost:3000/heroes',      }).then((res) => {        this.heroes = res.data;      });    },  },};

    功能模块

    英雄列表

    添加功能

    编辑功能

    总结

    通过以上步骤,我们成功构建了一个基于Vue.js和Webpack的前端工程化项目。该项目涵盖了组件开发、路由、数据接口、以及全栈开发的实现细节。未来可以进一步优化代码结构,增加更多功能,如图表支持、用户认证等,提升项目的实用性和复杂度。

    转载地址:http://rcku.baihongyu.com/

    你可能感兴趣的文章
    python语言:装饰器原理
    查看>>
    Python 交互式数据可视化详解
    查看>>
    python语言有哪些优点和缺点_Python有哪些优缺点,你了解吗?
    查看>>
    Python 从入门到精通:30天速成教程到底有多狠?你能坚持下来吗?
    查看>>
    Python 从数据库中存储和检索密码的最安全方法
    查看>>
    Python语言及其应用 - 知识点遍历
    查看>>
    Python 优化提速的 8 个小技巧
    查看>>
    Python 余弦相似度与皮尔逊相关系数 计算
    查看>>
    python 使用execjs 报编码错误解决办法,UnicodeDecodeError: ‘gbk‘ codec can‘t decode byte 0xac in position 145: il
    查看>>
    python 使用filetype校验文件
    查看>>
    Python 使用flush函数将缓冲区数据立即写磁盘
    查看>>
    python 使用in判断不准确,in不好使
    查看>>
    Python 使用pandas 进行查询和统计详解
    查看>>
    Redis 配置文件redis.conf详细解释
    查看>>
    python网络爬虫(2)——scrapy框架的基础使用
    查看>>
    python网络爬虫实例教程试读_Python网络爬虫实战教程(全套完整版) - 学途无忧网 - 做技术的王者 - Powered By EduSoho...
    查看>>
    Python 使用哈希函数用于加密
    查看>>
    Python 依赖管理的革新——Poetry 深度解析
    查看>>
    python 保留精度及增加去除数字的千位分隔符(金额化数字)
    查看>>
    python 倒计时 9,8,7,。。。。。。0
    查看>>