vue项目中的public、static及指定不编译文件问题

yizhihongxing

Vue项目中,public、static以及指定不编译文件是比较重要的概念,下面我将详细讲解这些概念。

public 文件夹

public文件夹是一个特殊的目录,其中的文件会在打包时被直接拷贝到输出目录(dist)下,不经过编译。因此,在public文件夹中添加的文件不会被Vue进行webpack构建的过程处理,最终输出的结果会直接使用这些文件,适用于一些不需要被打包处理的资源。

例如,我们在public文件夹下放置了一个index.html文件,它会在构建的时候被直接拷贝到输出目录中,而不是通过webpack打包构建处理。这样就可以为该页面自定义一些详细的配置,如title、关键字、外部链接CDN等。

static 文件夹

在Vue项目中,如果需要在应用中使用一些静态资源,例如图片、字体、JSON数据等,你可以将这些文件放在static文件夹内。与public文件夹不同的是,这些静态资源在打包构建过程中同样会被拷贝到输出目录(dist)中,但在输出时,会通过webpack进行处理,用于最终的打包资源。

例如,在static文件夹中添加了一个test.png图片,我们在Vue代码中可以通过/static/test.png路径获取到该图片,且该图片在打包成最终结果时会被webpack处理输出。

指定不编译文件

有时候,我们可能希望不对某些文件进行编译,这通常适用于第三方库或者一些自定义的特殊模块文件。在Vue项目中,可以通过vue.config.js文件来指定不编译文件。

例如,我们希望不对lodash.js文件进行编译,则可以在vue.config.js文件中添加如下配置:

module.exports = {
  chainWebpack: config => {
    config.module
      .rule('lodash')
      .test(/lodash\.js$/)
      .use('null-loader')
        .loader('null-loader')
        .end()
  }
}

这个配置的作用是,当webpack匹配到类似lodash.js的文件时,使用null-loader来代替默认的loader,从而达到不编译的目的。

另一个例子是针对第三方库jQuery进行配置,如果我们不想将其打入到最终用于生产的代码中,可以在vue.config.js文件中如下配置:

module.exports = {
  configureWebpack: {
    externals: {
      jquery: 'jQuery'
    }
  }
}

这样,将使得在引入jQuery时自动从全局对象中引入,而不会被打包进最终生产代码中。

以上就是关于Vue项目中public、static以及指定不编译文件的详细讲解。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:vue项目中的public、static及指定不编译文件问题 - Python技术站

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

相关文章

  • Vue实例中生命周期created和mounted的区别详解

    当我们在Vue中创建一个实例时,它会先到生命周期中的created函数,然后再到mounted函数。这两个生命周期函数对于我们开发Vue应用程序非常重要,因为它们可以帮助我们在特定的时间点注入特定的代码。 1. created生命周期函数 created生命周期函数是在Vue实例中最早执行的函数,它在实例被创建之后立即调用。在这个时候,Vue实例上的属性和方…

    Vue 2023年5月28日
    00
  • 详解vue-property-decorator使用手册

    详解vue-property-decorator使用手册 简介 vue-property-decorator是Vue.js的一个装饰器库,可以简化在Vue组件中使用的代码。它提供了许多便捷的装饰器,可以为组件的class、props、data、computed、methods以及生命周期钩子等添加修饰符。 使用 安装 你可以使用npm或yarn命令进行安装,…

    Vue 2023年5月27日
    00
  • vue3.0 CLI – 1 – npm 安装与初始化的入门教程

    Vue3.0 CLI – 1 – npm 安装与初始化的入门教程 什么是 Vue CLI Vue CLI 是一个官方发布的 Vue.js 项目脚手架,提供了快速初始化项目、快速开发等功能,大大提高了前端开发效率。Vue CLI 内置了许多插件和功能,例如代码格式化、组件生成、调试等,同时也允许用户在创建项目时选择需要的插件和功能,定制自己的项目模版。 安装 …

    Vue 2023年5月28日
    00
  • vue路由划分模块并自动引入方式

    Vue 路由划分模块并自动引入方式可以让我们在开发过程中更加方便地管理和维护路由,以下是详细攻略: 划分模块 为了更好地管理路由,我们可以将相似的路由放置于同一文件夹中,比如: – src – pages – home – index.vue – children.vue – about – index.vue – children.vue 其中,home …

    Vue 2023年5月28日
    00
  • 巧用Vue.js+Vuex制作专门收藏微信公众号的app

    下面我来详细讲解“巧用Vue.js+Vuex制作专门收藏微信公众号的app”的完整攻略。 1. 搭建Vue.js项目 首先需要搭建一个基于Vue.js的项目。可以使用Vue CLI来快速生成一个基础项目,命令如下: vue create wechat-collect 这个命令会创建一个名为wechat-collect的项目,并自动添加Vue.js所需要的基础…

    Vue 2023年5月27日
    00
  • nuxt.js 在middleware(中间件)中实现路由鉴权操作

    要在Nuxt.js中实现路由鉴权操作,可以通过中间件来实现。具体步骤如下: 1. 创建中间件 在Nuxt.js项目中创建一个中间件来实现路由鉴权操作,可以在/middleware目录下创建一个auth.js文件。代码如下: export default function({ route, redirect, store }) { // 获取当前路由信息 co…

    Vue 2023年5月27日
    00
  • undefined是否会变为null原理解析

    undefined与null都是JavaScript中的特殊值,但它们的含义有所不同。undefined表示一个未定义的变量,而null表示一个空对象指针。这两个值是不同的,但有时它们会被混淆,在JavaScript中,undefined是否会变为null是一个常见的疑问。接下来,我们将进行详细解释。 undefined和null的定义 先来看一下undef…

    Vue 2023年5月27日
    00
  • vue2自定义组件通过rollup配置发布到npm的详细步骤

    下面是详细的“vue2自定义组件通过rollup配置发布到npm的详细步骤”。 准备工作 在开发vue2自定义组件前,需要准备好以下环境: Node.js Vue.js Rollup.js 打包工具(如Babel等) NPM 步骤 1. 创建项目 首先,需要创建一个npm包项目。使用npm init命令初始化项目,按照提示填写项目基本信息。然后,在项目中安装…

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