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注册组件的方法

    关于Vue注册组件的方法,主要有两种方式,分别是全局注册和局部注册。 1. 全局注册 在Vue中,全局注册即是把组件注册到Vue构造器中,使该组件可在任何地方被使用。我们可以通过Vue.component方法进行全局注册。 语法格式如下: Vue.component(‘组件名称’, { 组件配置项 }) 其中,’组件名称’即为组件的标签名,’组件配置项’包括…

    Vue 2023年5月27日
    00
  • vue遍历对象中的数组取值示例

    下面我给您讲解一下“vue遍历对象中的数组取值”这个话题。 在vue.js中,我们经常需要遍历对象中的数组并取出其中的数据。这种需求很常见,而vue提供了非常方便的解决方案。 遍历数组取值的常见方法 例1:利用v-for指令遍历数组并输出数组内元素 下面是一个例子,假设我们的数据对象是这样的: var data = { list: [ {name: ‘小明’…

    Vue 2023年5月28日
    00
  • Vue安装浏览器开发工具的步骤详解

    下面是“Vue安装浏览器开发工具的步骤详解”攻略: 1. 前置条件 在安装Vue的浏览器开发工具之前,需要确保以下两个条件已经满足:1. 拥有安装Vue的基础,可以使用npm命令行在终端中安装Vue.js。2. 时间充足,可以耐心地按照以下详细步骤进行操作。 2. 安装Vue的浏览器开发工具 2.1. 安装Vue.js开发工具:Vue Devtools Vu…

    Vue 2023年5月27日
    00
  • 配置vue全局方法的两种方式实例

    当我们在使用 Vue.js 开发时,我们经常需要在多个组件中使用同一个方法,这时候可以将这个方法作为全局方法。Vue.js 提供了两种方式来配置全局方法。 1.通过 Vue.prototype 实现全局方法 在 Vue.js 初始化时可以通过 Vue.prototype 给 Vue 实例添加自定义属性。通过 Object.defineProperty 实现这…

    Vue 2023年5月28日
    00
  • 在vue中使用SockJS实现webSocket通信的过程

    在Vue中使用SockJS实现WebSocket通信的过程包括以下几步: 安装SockJS依赖 npm install sockjs-client –save 创建WebSocket对象 在Vue组件的created钩子中,创建WebSocket对象并监听连接的状态变化。 import SockJS from ‘sockjs-client’ export …

    Vue 2023年5月28日
    00
  • 98道经典Vue面试题总结

    感谢您对本网站的关注,以下是关于《98道经典Vue面试题总结》的完整攻略。 一、前言 Vue.js 是一款流行的前端框架,已经成为很多企业和公司的项目必备技术。但是随着 Vue 的普及,Vue 面试题也越来越多,Vue 面试有可能会考到一些比较深入的知识点。因此,对于很多初学者来说,学习 Vue 的同时,也要去了解一些常见的面试题。 本篇文档涵盖了98道面试…

    Vue 2023年5月28日
    00
  • vue项目main.js配置及使用方法

    下面是关于“vue项目main.js配置及使用方法”的完整攻略: 什么是main.js 在Vue.js项目中,main.js是一个非常重要的文件,它是Vue.js的入口文件,用于配置Vue.js的基本内容、初始化Vue.js的实例、路由、数据管理等功能,是整个Vue.js应用程序的核心所在。 main.js的配置和使用方法 引入Vue.js main.js文…

    Vue 2023年5月28日
    00
  • 轻松学Vue组件之单文件组件

    让我来详细讲解一下“轻松学Vue组件之单文件组件”的完整攻略。 标题 什么是单文件组件? 单文件组件是 Vue.js 组件的一种组织方式,它将模板、逻辑代码和样式都写在一个文件中,方便管理和复用。 如何创建单文件组件? 创建单文件组件很简单,只需要在项目中新建一个 .vue 后缀的文件,然后按照以下格式编写代码: <template> <!…

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