webpack4+Vue搭建自己的Vue-cli项目过程分享

yizhihongxing

下面我就来详细讲解“webpack4+Vue搭建自己的Vue-cli项目过程分享”的完整攻略。

1. 创建Vue项目

使用Vue-cli可快速搭建Vue项目结构。首先,我们需要全局安装Vue-cli:

npm install -g vue-cli

然后,运行以下命令来创建Vue项目:

vue init webpack my-project
cd my-project
npm install

这里使用了 webpack 模板来创建Vue项目,你也可以选择 browserify 模板或者其他的模板。

2. 配置Webpack

2.1 添加Less支持

首先,我们需要安装 lessless-loader

npm install less less-loader --save-dev

然后,在 build/webpack.base.conf.js 文件中添加以下代码:

module.exports = {
  // ...
  module: {
    rules: [
      // ...
      {
        test: /\.less$/,
        use: [
          'vue-style-loader',
          'css-loader',
          'less-loader'
        ],
      },
    ]
  },
  // ...
}

这样就可以在Vue组件中使用 less

2.2 配置代理

在开发环境中,我们可能需要跨域请求API。就需要配置Webpack的代理。

config/index.js 文件中,找到以下代码:

dev: {
  // ...
  proxyTable: {},
  // ...
}

proxyTable 中添加接口代理配置,如:

proxyTable: {
  '/api': {
    target: 'http://localhost:3000',
    changeOrigin: true,
    pathRewrite: {
      '^/api': ''
    }
  }
},

这样,所有以 /api 开头的接口请求都会被代理到 http://localhost:3000上,实现跨域请求。

3. 添加Vue插件

3.1 添加Vue-router支持

我们可以使用Vue-router来实现前端路由功能,首先需要安装Vue-router:

npm install vue-router --save

然后,在Vue项目中引入Vue-router,并配置路由:

import Vue from 'vue'
import Router from 'vue-router'
import Home from '@/views/Home.vue'

Vue.use(Router)

export default new Router({
  mode: 'history',
  routes: [
    {
      path: '/',
      name: 'Home',
      component: Home
    }
  ]
})

在上面代码中,我们定义了一个路由 /,对应的组件是 Home.vue

最后,在 main.js 文件中引入并使用路由:

import Vue from 'vue'
import App from './App'
import router from './router'

new Vue({
  el: '#app',
  router,
  components: { App },
  template: '<App/>'
})

3.2 添加Vuex支持

Vuex是Vue的状态管理库,可以用来管理应用程序的状态。首先需要安装Vuex:

npm install vuex --save

然后,在Vue项目中创建一个Vuex store:

import Vue from 'vue'
import Vuex from 'vuex'

Vue.use(Vuex)

export default new Vuex.Store({
  state: {
    count: 0
  },
  mutations: {
    increment (state) {
      state.count++
    }
  },
  actions: {
    incrementAsync ({ commit }) {
      setTimeout(() => {
        commit('increment')
      }, 1000)
    }
  }
})

在上面代码中,我们定义了一个名为 count 的状态。 mutations 中定义了一个方法 increment,用来修改这个状态的值。 actions 中定义了一个异步方法 incrementAsync,用来调用 mutations 中的方法。

最后,在 main.js 文件中引入并使用Vuex:

import Vue from 'vue'
import App from './App'
import router from './router'
import store from './store'

new Vue({
  el: '#app',
  router,
  store,
  components: { App },
  template: '<App/>'
})

现在,我们已经成功添加了Vue-router和Vuex支持。

4. 示例说明

4.1 Vue-router示例

我们在上面已经添加了Vue-router支持,下面为大家演示一个示例。

src/views 目录下创建一个 About.vue 组件:

<template>
  <div>
    <h1>About</h1>
    <p>This is an about page</p>
  </div>
</template>

<script>
export default {}
</script>

然后,在路由文件中添加对应路由:

import About from '@/views/About.vue'

export default new Router({
  mode: 'history',
  routes: [
    {
      path: '/',
      name: 'Home',
      component: Home
    },
    {
      path: '/about',
      name: 'About',
      component: About
    }
  ]
})

现在,当我们访问 http://localhost:8080/about 时,就可以看到 About.vue 组件了。

4.2 Vuex示例

我们已经成功添加了Vuex支持,下面为大家演示一个示例。

我们在 src/views 目录下创建一个 Counter.vue 组件:

<template>
  <div>
    <h1>Counter</h1>
    <p>{{ count }}</p>
    <button @click="increment">Increment</button>
  </div>
</template>

<script>
import { mapState, mapActions } from 'vuex'

export default {
  computed: {
    ...mapState(['count'])
  },
  methods: {
    ...mapActions(['increment'])
  }
}
</script>

在上面代码中,我们使用了Vuex的 mapStatemapActions 辅助函数来映射 count 状态和 increment 方法,使其可以在组件中直接使用。

接着,在 store.js 中添加对应的状态和方法:

export default new Vuex.Store({
  state: {
    count: 0
  },
  mutations: {
    increment (state) {
      state.count++
    }
  },
  actions: {
    incrementAsync ({ commit }) {
      setTimeout(() => {
        commit('increment')
      }, 1000)
    }
  }
})

现在,当我们在 Counter.vue 点击 Increment 按钮时,就可以看到 count 的值会增加了。

以上就是“webpack4+Vue搭建自己的Vue-cli项目过程分享”的完整攻略。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:webpack4+Vue搭建自己的Vue-cli项目过程分享 - Python技术站

(0)
上一篇 2023年5月27日
下一篇 2023年5月27日

相关文章

  • Vue中ref和$refs的介绍以及使用方法示例

    Vue中ref和$refs的介绍以及使用方法示例 什么是ref 在Vue中, ref是一个特殊的属性,它可以在渲染组件模板时为其对应的元素或组件注册引用信息。 在创建一个vue实例时,我们经常会给一些元素或组件添加一个ref的特殊属性,这样在vue实例渲染出来后,我们就可以通过this.$refs.***的方式来获取对应元素或组件的引用,从而可以进行操作。 …

    Vue 2023年5月29日
    00
  • vue.js实现格式化时间并每秒更新显示功能示例

    下面是“vue.js实现格式化时间并每秒更新显示功能示例”的完整攻略。 思路分析 实现该功能需要使用Vue.js框架,其核心思路是将需要更新的时间保存在Vue实例的data中,然后利用Vue实例的响应式机制,在每秒钟更新时间的同时更新视图。 具体实现方法可以使用Vue.js提供的计算属性,或者通过Vue.js生命周期函数中的定时器实现。 计算属性实现示例 下…

    Vue 2023年5月28日
    00
  • vue3中的ref()详解

    那我就来详细讲解一下”vue3中的ref()详解”的攻略。 简介 ref函数是Vue 3中的一个响应式API,它不仅可以用来创建响应式数据,还可以用来在模板或JSX中访问元素和组件。 创建响应式数据 在Vue.js 2.X版本中,创建响应式数据需要用到 Vue 对象的 data 选项,通常需要在组件的 data 函数中返回一个对象。 而在Vue.js 3.0…

    Vue 2023年5月28日
    00
  • vue.js整合vux中的上拉加载下拉刷新实例教程

    Vue.js整合Vux中的上拉加载下拉刷新实例教程 Vux是一个基于Vue.js的UI组件库,提供了大量易用的组件和工具。其中,上拉加载和下拉刷新是常用的功能,本文将介绍如何使用Vux实现上拉加载和下拉刷新。 准备工作 首先,需要安装Vux和Vue.js。 npm install vux vue –save 然后,在Vue.js中引入Vux: import…

    Vue 2023年5月27日
    00
  • vue.js异步上传文件前后端实现代码

    下面我会详细地讲解“Vue.js异步上传文件前后端实现代码”的完整攻略。 准备工作 在正式开始编写代码之前,我们需要进行一些准备工作: 确认后端服务器是否支持文件上传,并且上传的文件大小是否有限制。 安装Vue.js插件vue-file-upload,它提供了非常方便的上传文件功能。 前端实现 添加上传组件 首先,我们需要在页面中添加上传组件。可以使用vue…

    Vue 2023年5月28日
    00
  • vue2.0开发入门笔记之.vue文件的生成和使用

    当我们使用 Vue.js 进行开发的时候,最普遍的方式就是通过 .vue 文件进行组件化开发。本次攻略将详细讲解 .vue 文件的生成和使用。 什么是 .vue 文件? .vue 文件是一种组件化的文件格式,Vue.js 是通过 .vue 文件进行组件开发。.vue 文件将一个组件的 HTML、CSS 和 JavaScript 内容放在同一个文件中,便于管理…

    Vue 2023年5月28日
    00
  • vue实现商城上货组件简易版

    下面我将为你详细讲解“Vue实现商城上货组件简易版”的完整攻略,包含以下几个步骤: 一、设计组件结构 在Vue中设计组件有以下几个要点: 1. 组件的数据 组件必须拥有数据,这些数据可以通过props传递来自父组件的数据,也可以通过data()方法定义组件自身的数据。 2. 组件的模板 Vue使用HTML模板作为组件的呈现形式。 3. 组件的方法 Vue组件…

    Vue 2023年5月28日
    00
  • vue5中的事件修饰符(style)和template

    Vue 5是一种流行的前端框架,其中事件修饰符和模板是其核心概念之一。 事件修饰符(style) 事件修饰符(style)用于为事件绑定额外的行为,比如阻止默认行为或者停止事件传播。它们可以在事件绑定后紧跟着一个点号,并且具有特定的语法。常用的事件修饰符有以下几种: .stop: 阻止事件冒泡 .prevent: 阻止默认事件 .capture: 添加事件侦…

    Vue 2023年5月27日
    00
合作推广
合作推广
分享本页
返回顶部