详解vue2.0脚手架的webpack 配置文件分析

yizhihongxing

下面我将为你详细讲解“详解vue2.0脚手架的webpack 配置文件分析”的完整攻略。

一、前言

在进行Vue2.0开发时,使用脚手架可以减少很多配置时间,提高开发效率。而其中的webpack配置文件对整个应用的打包和构建起到了重要的作用。因此,对webpack配置文件进行分析和解读是非常必要的。

二、webpack 配置文件分析

2.1 入口文件配置

webpack.config.js 文件中,entry 配置项用于配置入口文件。例如,如果我们有一个名为 main.js 的文件,我们可以将其作为入口文件进行如下配置:

module.exports = {
  entry: './src/main.js'
}

这样 webpack 就会以 ./src/main.js 作为入口文件进行打包。

2.2 输出文件配置

输出文件配置一般是在 output 中进行设置。例如,如果我们想要将打包好的文件输出到 dist 目录下,并且将输出的文件名设为 bundle.js,那么我们可以将其配置如下:

module.exports = {
  output: {
    path: path.resolve(__dirname, 'dist'),
    filename: 'bundle.js'
  }
}

其中, path 存放所以打包后的文件的绝对路径, 而 filename 指定打包后的文件名。这里我们用到了 path.resolve 方法,它可以将一个路径或路径片段序列解析为一个绝对路径。

2.3 配置加载器

module 配置项中可以配制加载器,来处理非 JavaScript 文件,比如样式文件、图片、字体等文件。例如:

module.exports = {
  module: {
    rules: [
      {
        test: /\.css$/,
        use: [
          'style-loader',
          'css-loader'
        ]
      },
      {
        test: /\.(png|svg|jpg|gif)$/,
        use: [
          'file-loader'
        ]
      },
      {
        test: /\.(woff|woff2|eot|ttf|otf)$/,
        use: [
          'file-loader'
        ]
      }
    ]
  }
}

这就是一个常见的在webpack中使用的loader的配置,其中 .css 的文件通过 use 数组中的 style-loadercss-loader 进行处理。而图片和字体文件则使用 file-loader 进行处理。

2.4 插件配置

plugins 配置项中配制插件。插件可以执行功能更加复杂的任务,比如压缩代码、混淆代码、打包优化等等。例如:

var webpack = require('webpack');
var HtmlWebpackPlugin = require('html-webpack-plugin');

module.exports = {
  plugins: [
    new webpack.optimize.UglifyJsPlugin(),
    new HtmlWebpackPlugin({template: './src/index.html'})
  ]
}

这里一个常用的插件是 UglifyJsPlugin,它可以压缩 JavaScript 代码。另外,还有一个常用的插件是 HtmlWebpackPlugin,它可以自动生成 index.html 文件,并将打包后的资源文件自动引入到 index.html 中。

三、示例说明

3.1 示例一

下面我们以一个实际使用场景为例进行说明。假设我们有一个页面,页面中需要引入一个名为 vue-quill-editor 的第三方编辑器插件。我们知道这个插件的使用需要在 main.js 中进行引入:

import Vue from 'vue'
import VueQuillEditor from 'vue-quill-editor'

Vue.use(VueQuillEditor)

但是,我们又不想将插件与其他代码打包在同一个文件中,这时我们可以在配置文件中将插件单独进行打包。具体实现方式如下:

module.exports = {
  // …
  entry: {
    app: './src/main.js',
    vendor: [
      'vue',
      'vue-quill-editor'
    ]
  },
  output: {
    …
    filename: '[name].[chunkhash].js',
    chunkFilename: '[name].[chunkhash].js'
  },
  plugins:[
    new webpack.optimize.CommonsChunkPlugin({
      name: 'vendor'
    })
  ]
}

这里我们使用了 CommonsChunkPlugin 插件将 vue-quill-editor 单独打包。

3.2 示例二

作为一个前端开发者,我们都希望代码打包后能够快速地运行并展示出我们的网站。这里我们可以使用 webpack-dev-server 快速进行本地开发调试。具体实现如下:

首先安装 webpack-dev-server

npm install webpack-dev-server --save-dev

然后在 webpack.config.js 中添加如下代码:

module.exports = {
  ...
  devServer: {
    contentBase: './dist',
    open: true,
    port: 8080
  }
}

这里我们设置了打开默认页面,端口则是 8080。接下来我们就可以通过浏览器进行开发调试了,只需要在命令行输入:

webpack-dev-server --open

即可在浏览器中打开页面。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:详解vue2.0脚手架的webpack 配置文件分析 - Python技术站

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

相关文章

  • Ant Design Vue日期组件的时间限制方式

    Ant Design Vue 是 Ant Design 在 Vue 中的实现,是一套基于 Vue 实现的高质量 UI 组件库,拥有丰富的组件和良好的设计风格,深受前端工程师的喜爱。 Ant Design Vue 提供了日期组件,我们可以通过设置时间限制方式来限定用户选择日期的范围,例如限制用户只能选择今天及今天之后的日期,或者只能选择本月份的日期等等。 下面…

    Vue 2023年5月29日
    00
  • 前端vue3使用axios调用后端接口的实现方法

    当前端使用Vue3框架时,常常需要通过HTTP请求与后端进行交互从而实现前后端数据的交互。而axios作为一个基于Promise的HTTP客户端,已经成为前端开发中最常用的HTTP请求工具之一。下面是Vue3前端使用axios调用后端接口的实现方法攻略: 1. 安装axios 使用npm可以很容易地安装axios,只需要在项目根目录下运行以下命令即可: np…

    Vue 2023年5月27日
    00
  • 详解如何在Vue3使用<script lang=“ts“ setup>语法糖

    当我们使用Vue3时,可以使用<script lang=”ts” setup>语法糖来更方便地编写组件。下面我会详细讲解如何在Vue3中使用该语法糖。 准备工作 首先,我们需要安装Vue3以及TypeScript。可以使用以下命令来安装: npm install vue@next typescript 同时,我们需要在项目中添加以下编译器选项(t…

    Vue 2023年5月27日
    00
  • vue实现图片路径转二进制文件流(binary)

    下面是详细的攻略: 如何实现图片路径转换为二进制文件流(binary)? 将图片路径转化为二进制文件流的过程,包括三个步骤:获取图片,读取图片文件二进制,将二进制数据存储起来。下面是具体步骤。 获取图片 获取图片通常需要从 input[type=file] 元素或一个图片 URL。对于 input[type=file] 元素,可通过 onchange 事件获…

    Vue 2023年5月27日
    00
  • Vue.js中this如何取到data和method里的属性详解

    对于Vue.js项目中,我们经常需要在代码中引用Vue实例中的属性或方法。在此过程中,我们需要清楚地了解this关键字的作用和作用域。本文将详细讲解如何在Vue.js中获取data和method中的属性。 this关键字的作用和作用域 在Vue.js中,this关键字是指Vue实例的上下文。Vue实例中的属性和方法都可以通过this在相应的位置中访问。但是,…

    Vue 2023年5月28日
    00
  • Vue的属性、方法、生命周期实例代码详解

    Vue是一种流行的JavaScript框架,在前端开发中被广泛使用。在Vue的学习过程中,理解Vue的属性、方法以及生命周期是非常重要的。下面是Vue的属性、方法以及生命周期的详细讲解。 属性 el el属性是Vue实例挂载的元素。可以是CSS选择器、HTML元素或DOM对象。 <div id="app"></div&g…

    Vue 2023年5月27日
    00
  • 解决vue单页面应用打包后相对路径、绝对路径相关问题

    解决Vue单页面应用打包后相对路径、绝对路径相关问题是一个常见的问题,这里提供一个完整攻略,以帮助开发者快速解决问题。 问题描述 在开发Vue单页面应用时,需要引入各种资源文件,如CSS样式文件、JS脚本文件、图片资源文件等等。这些文件在开发时,都是通过相对路径或绝对路径引入的。但是,在打包完成后,这些资源文件会被压缩和合并,导致相对路径或绝对路径失效,进而…

    Vue 2023年5月28日
    00
  • Vue修饰符的使用详解

    Vue修饰符的使用详解 修饰符是什么? 在 Vue.js 中,修饰符指的是在指令(Directive)后面以半角句号 . 指明的特殊后缀,用于改变指令的行为。Vue 提供多个指令修饰符,比如 .stop、.prevent、.capture、.self、.once 等。 常用的修饰符 以下是 Vue 中比较常用的指令修饰符: .stop: 阻止事件冒泡 .pr…

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