博客
关于我
前端与移动开发----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/

    你可能感兴趣的文章
    npm的问题:config global `--global`, `--local` are deprecated. Use `--location=global` instead 的解决办法
    查看>>
    npm编译报错You may need an additional loader to handle the result of these loaders
    查看>>
    npm设置淘宝镜像、升级等
    查看>>
    npm设置源地址,npm官方地址
    查看>>
    npm设置镜像如淘宝:http://npm.taobao.org/
    查看>>
    npm配置安装最新淘宝镜像,旧镜像会errror
    查看>>
    NPM酷库052:sax,按流解析XML
    查看>>
    npm错误 gyp错误 vs版本不对 msvs_version不兼容
    查看>>
    npm错误Error: Cannot find module ‘postcss-loader‘
    查看>>
    npm,yarn,cnpm 的区别
    查看>>
    NPOI
    查看>>
    NPOI之Excel——合并单元格、设置样式、输入公式
    查看>>
    NPOI初级教程
    查看>>
    NPOI利用多任务模式分批写入多个Excel
    查看>>
    NPOI在Excel中插入图片
    查看>>
    NPOI将某个程序段耗时插入Excel
    查看>>
    NPOI格式设置
    查看>>
    NPOI设置单元格格式
    查看>>
    Npp删除选中行的Macro录制方式
    查看>>
    NR,NF,FNR
    查看>>