Vue项目中引入外部文件的方法(css、js、less)

Vue项目中引入外部文件的方法主要有以下几种:

  1. 使用link和script标签引入外部css和js文件

我们可以通过在Vue项目的index.html文件中使用link和script标签来引入外部的css和js文件。

在html文件中,我们使用link标签引入外部css文件。例如:

<link href="./assets/css/style.css" rel="stylesheet">

同样,我们使用script标签引入外部js文件。例如:

<script src="./assets/js/jquery.min.js"></script>
  1. 使用Vue的vue.config.js配置文件引入外部文件

Vue提供了配置文件vue.config.js,我们可以通过该文件配置引入外部文件的方法,具体操作如下:

在项目根目录下新建vue.config.js文件,并添加以下内容:

module.exports = {
  chainWebpack: config => {  
    // 添加 less 规则,支持less文件的引入
    config.module
      .rule('less')
      .test(/\.less$/)
      .use('less-loader')
      .loader('less-loader')
      .end()

    // 添加 jQuery 和 bootstrap 的引入
    config
      .plugin('provide')
      .use(require('webpack').ProvidePlugin, [{
        $: 'jquery',
        jQuery: 'jquery',
        'window.jQuery': 'jquery',
        Popper: ['popper.js', 'default'],
        Tether: 'tether'
      }])
  },
  // 添加需要全局引入的 css 和 js
  css: {
    loaderOptions: {
      sass: {
        data: `
          @import "@/assets/css/style.scss";
        `
      }
    }
  },
  configureWebpack: {
    entry: {
      app: ['./src/main.js', 'babel-polyfill']
    },
    externals: {
      'AMap': 'AMap'
    }
  }
}

在上例中,我们使用了webpack的ProvidePlugin插件来提供全局变量的引入。同时,我们也可以在css中添加全局引入的样式文件。

示例1:在Vue项目中引入less文件

我们可以通过配置vue.config.js,在Vue项目中引入less文件,具体操作如下:

  1. 安装less和less-loader
npm install less less-loader --save-dev
  1. 在vue.config.js中添加less配置
module.exports = {
  chainWebpack: config => {  
    // 添加 less 规则,支持less文件的引入
    config.module
      .rule('less')
      .test(/\.less$/)
      .use('less-loader')
      .loader('less-loader')
      .end()
  }
}
  1. 在.vue文件中引入less文件
<style lang="less">
  @import './assets/less/style.less';
</style>
  1. 在style.less文件中编写样式
.box {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 300px;
  background-color: blue;
}

示例2:在Vue项目中引入第三方插件jQuery和Bootstrap

在Vue项目中,我们可以使用webpack的ProvidePlugin插件来引入第三方库jQuery和Bootstrap。

  1. 安装jQuery和Bootstrap
npm install jquery bootstrap --save
  1. 在vue.config.js中添加ProvidePlugin配置
module.exports = {
  chainWebpack: config => {  
    // 引入 providePlugin 插件
    config
      .plugin('provide')
      .use(require('webpack').ProvidePlugin, [{
        $: 'jquery',
        jQuery: 'jquery',
        'window.jQuery': 'jquery',
        Popper: ['popper.js', 'default'],
        Tether: 'tether'
      }])
  },
  ...
}
  1. 在需要使用jQuery和Bootstrap的.vue文件中添加引入
<script>
  // 使用jQuery和Bootstrap
  $(function () {
    $('[data-toggle="tooltip"]').tooltip()
    // do something ...
  })
</script>

引入方式如上述所示。

以上就是在Vue项目中引入外部文件(css、js、less)的完整攻略,希望对你有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Vue项目中引入外部文件的方法(css、js、less) - Python技术站

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

相关文章

  • vue中自定义指令directive的详细指南

    当我们需要在Vue的界面中实现自定义的行为时,可以使用指令(directive)去完成。指令是以v-开头的特殊HTML属性,它可以用于改变DOM元素的行为或者样式。 通过自定义指令,我们可以方便地实现各种控制DOM元素行为、触发事件和更新UI的需求。下面来详细讲解Vue中自定义指令的详细指南,包括指令的全局注册和局部注册、生命周期函数等。 全局注册指令 在V…

    Vue 2023年5月28日
    00
  • 一篇文章总结Vue3.2语法糖使用

    一篇文章总结Vue3.2语法糖使用 简介 Vue.js是一款流行的前端JavaScript框架,而Vue 3是其最新版本,其中引入了一些方便开发的新特性,即语法糖。本篇文章将讲解Vue3.2语法糖的使用方法。 defineComponent函数 在Vue3中,我们可以使用defineComponent函数定义组件,它可以让代码更加简洁明了。下面是一个使用de…

    Vue 2023年5月27日
    00
  • JS实现鼠标拖拽盒子移动及右键点击盒子消失效果示例

    下面我将为你讲解JS实现鼠标拖拽盒子移动及右键点击盒子消失效果的完整攻略。 1. 鼠标拖拽盒子移动实现 首先,在HTML代码中准备一个盒子元素,例如: <div id="box"></div> 在CSS中为该盒子设置样式,使其成为一个带边框、背景色的方块: #box { width: 100px; height: …

    Vue 2023年5月28日
    00
  • 对Vue.js之事件的绑定(v-on: 或者 @ )详解

    当使用Vue.js开发web应用时,事件处理非常重要。Vue.js提供了一种非常方便的方式来处理事件,可以使用v-on指令(也可以简写为@)来绑定各种事件。 v-on指令(@) v-on可以绑定DOM元素的原生事件,例如click、keyup、submit等: <button v-on:click="handleClick">…

    Vue 2023年5月28日
    00
  • vue,angular,avalon这三种MVVM框架优缺点

    下面是对vue、angular和avalon三种MVVM框架的详细讲解。 Vue 优点 渐进式框架,可以按需引入。 模块化开发,易于管理代码。 简化的模板语法,易于阅读和学习。 响应式数据绑定,可以实时更新视图。 Vuex 状态管理模式,方便管理全局状态。 社区活跃,有大量的第三方组件和插件可以选择。 缺点 学习曲线较陡峭。 不适合用来开发大型复杂的单页面应…

    Vue 2023年5月27日
    00
  • 学习Vue框架中必掌握的重点知识

    学习Vue框架中必掌握的重点知识 组件基础 Vue的组件是Vue应用的基本模块。组件是可复用的,Vue应用将一个页面划分为多个组件并组成组件树。组件是拥有自己的状态和生命周期的可复用模块。了解组件的定义、注册、渲染以及组件之间的通信是掌握Vue的关键。 组件的定义和注册 组件的定义是通过Vue.extend()和Vue.component()方法来实现的。V…

    Vue 2023年5月28日
    00
  • vue 出现data-v-xxx的原因及解决

    我来为您讲解”vue 出现data-v-xxx的原因及解决”的完整攻略。 一、 原因 在Vue中,我们通常使用模板语法和组件来构建UI界面。在这个过程中,我们定义了许多组件和样式。但是由于Vue的单文件组件特性,组件和样式都是被局部作用的。如果没有对应的处理,那么在多个组件中使用了相同的样式类名,就会产生样式冲突的问题。 为了解决这个问题,Vue采用了一种称…

    Vue 2023年5月28日
    00
  • Vue自定义图片懒加载指令v-lazyload详解

    当我们访问一个页面时,图片数量很多,如果立即全部加载会占用很多带宽和资源,降低用户体验,所以利用图片懒加载技术可以解决这个问题。Vue自定义指令v-lazyload实现图片的懒加载效果。 1. v-lazyload指令的原理 该指令的原理是在图片的可见区域内,进行异步加载图片,只有当图片出现在可见区域内时才加载,利用了IntersectionObserver…

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