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

下面我就来详细讲解“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如何自定义配置运行run命令

    要自定义配置Vue的run命令,需要在项目根目录中创建一个vue.config.js文件,并在该文件中向导出的配置对象的devServer属性下添加相应的配置,例如: // vue.config.js module.exports = { devServer: { port: 8080, open: true, proxy: { ‘/api’: { targ…

    Vue 2023年5月27日
    00
  • 一篇文章带你搞懂VUE基础知识

    一篇文章带你搞懂VUE基础知识攻略 简介 Vue.js 是一个轻量级的渐进式 JavaScript 框架,用于构建交互式的前端用户界面。本文的目的是通过简单易懂的方式,帮助初学者快速了解 Vue.js 的基础知识。 前置知识 HTML 基础知识 JavaScript 基础知识 安装 Vue.js 可以通过 CDN 直接引入,也可以通过 NPM 安装。 CDN…

    Vue 2023年5月27日
    00
  • vue发送websocket请求和http post请求的实例代码

    我来帮你讲解一下。 发送websocket请求 在Vue中,我们可以使用vue-websocket库来实现对Websocket的使用。首先,在项目中安装vue-websocket库: npm install vue-websocket –save 接下来,在Vue实例中,我们需要使用mixins来引入websocket相关配置,并且在钩子函数中绑定事件和发…

    Vue 2023年5月28日
    00
  • Vue-CLI多页分目录打包的步骤记录

    下面就来详细讲解一下“Vue-CLI多页分目录打包的步骤记录”的完整攻略。 Vue-CLI多页分目录打包的背景 在Vue的开发中,通常会使用到Vue-CLI脚手架工具来快速创建一个Vue项目,但默认情况下Vue-CLI创建的是单页应用,而有些场景需要创建多页应用。多页应用指的是一个网站包含多个入口页面,并且每个入口页面处理不同的业务逻辑,这种情况下需要使用多…

    Vue 2023年5月28日
    00
  • VUE中的自定义指令钩子函数讲解

    对于Vue中的自定义指令,钩子函数是其中一个重要的组成部分,它可以让我们在指令的生命周期中进行一些特定的操作。Vue提供了一组常用的钩子函数可以用来响应指令生命周期内的不同阶段;同时我们也可以自定义指令钩子函数来实现特定的需求。 下面我们来看一下Vue中自定义指令的钩子函数: bind钩子函数 bind钩子函数在指令绑定到元素上时被调用,只会调用一次。通常可…

    Vue 2023年5月28日
    00
  • C#实现的微信网页授权操作逻辑封装示例

    Sure, 下面是关于“C#实现的微信网页授权操作逻辑封装示例”的攻略。 简介 微信网页授权是一个重要的功能,它允许用户通过微信公众平台进行网页授权并获取相应的用户信息。C#是一种广泛使用的编程语言,可以通过C#编写程序进行微信网页授权操作的逻辑封装。 本篇攻略将介绍如何使用C#实现微信网页授权操作逻辑的封装。过程中,强烈建议您具备一定的C#编程实践经验,并…

    Vue 2023年5月28日
    00
  • vue组件间传值的方法你知道几种

    当我们使用Vue.js框架时,组件和组件间的通信常常需要使用传值方法来完成。下面将介绍Vue组件间传值的多种方法。 Props Props是Vue中一种父子组件传递数据的方式。父组件可以通过标签属性的形式把数据传递给子组件,子组件通过props来接收这些数据。 例如,父组件中这样写: <template> <div> <chil…

    Vue 2023年5月28日
    00
  • 深入解析Vue 组件命名那些事

    下面我将为你详细讲解“深入解析Vue 组件命名那些事”的完整攻略。 1. 为什么需要规范化的组件命名 在创建Vue应用时,我们通常需要定义很多的组件。如果不加以规范化的组件命名,就会给在后续开发中造成很大的麻烦。比如:组件名与方法名重名、难于查找等情况。因此,规范化组件命名变得十分必要。 2. 组件命名规范 Vue官方定义了组件命名的规范,具体如下: 组件名…

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