如何配置vue.config.js 处理static文件夹下的静态文件

yizhihongxing

下面是如何配置vue.config.js处理static文件夹下静态文件的完整攻略。

首先,需要明确一下vue-cli会默认将static文件夹里的文件拷贝到打包后的根目录中,并不会对其进行任何处理,因此我们需要配置vue.config.js来处理这些静态文件。

以下是配置过程:

步骤一:创建vue.config.js文件

在项目根目录下创建vue.config.js文件,并在其中添加以下代码:

module.exports = {
  // 基本路径
  publicPath: '/',
  // 构建时的输出目录
  outputDir: 'dist',
  // 放置静态资源的目录
  assetsDir: 'static'
};

这里的assetsDir字段就是告诉webpackstatic文件夹下的静态资源打包到dist/static目录中。

步骤二:配置loader

我们可以通过chainWebpack来配置loader,也可以通过configureWebpack来配置,这里我们选择后者,修改vue.config.js文件如下:

module.exports = {
  // 基本路径
  publicPath: '/',
  // 构建时的输出目录
  outputDir: 'dist',
  // 放置静态资源的目录
  assetsDir: 'static',
  // 配置loader
  configureWebpack: {
    module: {
      rules: [
        {
          test: /\.(png|jpe?g|gif|svg)(\?.*)?$/,
          use: {
            loader: 'url-loader',
            options: {
              limit: 10000,
              name: 'img/[name].[hash:7].[ext]'
            }
          }
        },
        {
          test: /\.(mp4|webm|ogg|mp3|wav|flac|aac)(\?.*)?$/,
          use: {
            loader: 'url-loader',
            options: {
              limit: 10000,
              name: 'media/[name].[hash:7].[ext]'
            }
          }
        },
        {
          test: /\.(woff2?|eot|ttf|otf)(\?.*)?$/,
          use: {
            loader: 'url-loader',
            options: {
              limit: 10000,
              name: 'fonts/[name].[hash:7].[ext]'
            }
          }
        }
      ]
    }
  }
};

这里的module.rules就是webpack中对loader的配置。例如,我们用到了url-loader加载器。

示例一:处理图片

比如我们有一个banner.png的图片,存放在static/images目录下,现在我们想要在页面上引用这张图片,可以这样写:

<template>
  <div>
    <img src="~@/static/images/banner.png" alt="banner" />
  </div>
</template>

vue中引入图片可以使用@/或者~@/,也可以直接使用相对路径。这里需要注意的是,在src属性中需要加上~@前缀,告诉webpack这是在引用static文件夹下的资源。

示例二:处理字体文件

同理,如果我们有一个字体文件iconfont.ttf,存放在static/fonts目录下,想要在页面中引用,可以这样写:

@font-face {
  font-family: 'iconfont';
  src: url('~@/static/fonts/iconfont.ttf') format('truetype');
}

同样地,需要在url中加上~@前缀。

以上就是如何配置vue.config.js处理static文件夹下静态文件的完整攻略,希望能对您有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:如何配置vue.config.js 处理static文件夹下的静态文件 - Python技术站

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

相关文章

  • Vue + Axios 请求接口方法与传参方式详解

    下面是详细讲解 “Vue + Axios 请求接口方法与传参方式详解” 的完整攻略。 简介 Vue 是一个渐进式框架,许多 web 应用程序使用它来构建 UI。Axios 是一个基于 promise 的 HTTP 库,可以用于进行数据请求。在 Vue 中,我们可以结合 Axios 在应用程序中轻松地发送数据请求。 本攻略将为您提供如何使用 Vue + Axi…

    Vue 2023年5月27日
    00
  • vue项目配置eslint保存自动格式化问题

    下面是关于Vue项目配置ESLint保存自动格式化的完整攻略: 安装相关插件 首先,需要在Vue项目中安装eslint和eslint-plugin-prettier两个插件,可以使用npm安装,命令如下: npm install eslint eslint-plugin-prettier –save-dev 配置.eslintrc.js文件 在Vue项目的…

    Vue 2023年5月28日
    00
  • Vue开发之封装上传文件组件与用法示例

    Vue开发之封装上传文件组件与用法示例 一、概述 在Vue项目中,我们经常需要使用到上传文件的功能,为了提高代码的可复用性并减少冗余代码,我们可以封装一个通用的上传文件组件。本篇攻略将介绍如何封装上传文件组件以及如何在Vue项目中使用该组件。 二、上传文件组件的封装 创建 UploadFile.vue 组件文件,并添加如下代码: <template&g…

    Vue 2023年5月28日
    00
  • elementui导出数据为xlsx、excel表格

    ElementUI是一款基于Vue.js的组件库,提供了丰富的UI组件,其中也包含了导出Excel表格的功能。下面是ElementUI导出数据为xlsx、excel表格的详细攻略: 第一步:安装依赖 首先,在项目中导出Excel表格需要安装以下依赖: npm install -S file-saver xlsx 其中,file-saver用于文件下载,xls…

    Vue 2023年5月27日
    00
  • Vue 理解之白话 getter/setter详解

    Vue 理解之白话 getter/setter详解 什么是getter/setter? 在Vue中实现数据双向绑定的原理是通过getter/setter来实现的。简单来说,getter就是在获取属性值时执行的代码,setter则是在设置属性值时执行的代码。getter和setter通常被称为“计算属性”和“watcher”。 如何定义getter/sette…

    Vue 2023年5月27日
    00
  • 使用canvas仿Echarts实现金字塔图的实例代码

    使用canvas模拟 Echarts 实现各种图表类型,并非易事,尤其是对于初学者。但是,在较少甚至没有 Echarts 库的情况下,这种方法能够使你实现各种基本图形类型,受控制的小部件,重新构建以及基于自定义的视觉样式。 实现金字塔图的攻略 以下为使用 canvas 绘制金字塔图的实现步骤: 步骤 1 – 创建 HTML 元素 创建 HTML5 页面,并添…

    Vue 2023年5月28日
    00
  • 基于Vue的文字跑马灯组件(npm 组件包)

    这里是针对“基于Vue的文字跑马灯组件(npm 组件包)”的详细攻略: 简介 这个组件是一个可以在Vue项目中使用的文字跑马灯组件,它可以让文字在固定区域内不断滚动显示,并支持设置滚动速度、字体颜色、字号等样式参数。 安装 你可以通过npm来安装这个组件:npm install vue-marquee-text-component 使用方法 在Vue组件中引…

    Vue 2023年5月28日
    00
  • vscode运行vue项目需要配置什么? vscode启动vue项目的技巧

    要在VSCode中运行Vue项目,需要进行以下配置: 安装Node.js和Vue CLI 在开始之前,需要安装Node.js和Vue CLI。Node.js是JavaScript运行环境,Vue CLI是Vue.js的脚手架工具。Vue CLI会生成一个Vue项目的基本结构,包括依赖和配置文件。可以通过以下命令安装Node.js和Vue CLI: # 安装N…

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