vue中的require

这篇具有很好参考价值的文章主要介绍了vue中的require。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、基本概念

require 是 node 中的一个方法,他的作用是 用于引入模块、 JSON、或本地静态文件。require会在编译过程中被执行,最终会得到对应文件的内容(例如json文件)或者是文件编译后的目录路径(例如图片文件,当然如果图片大小小于一定值,会被直接转换为base64编码,具体配置参考vue-cli)。

二、具体演示

1.引入json

当我们想要在代码中使用本地json数据时,我们除了可以发起一个get请求外,我们还可以使用require直接引入:
在public文件中放入测试json a.json
vue require,vue.js,javascript,前端
引入json:

    const a = require('/public/a.json')
    console.log(a)

输出内容:
vue require,vue.js,javascript,前端

2.引入图片

同样的位置放入一张图片 logo.png(6KB)img.png(500KB)
vue require,vue.js,javascript,前端

引入图片:

const logo = require('/public/logo.png')
console.log(logo)
const img = require('/public/img.png')
console.log(img)

输出内容:
vue require,vue.js,javascript,前端
注意:vue项目里,在javascript中使用图片时,一定要用require引入,不然就会无法获取到图片
因为在js中直接使用字符串路径时,编译后也会使用当前字符串路径引入,而编译后的图片路径并不一定是图片存放的目录路径。而使用require引入时,就会获取到图片编译后的路径了。

三、require.context

require.context可以遍历文件夹的文件,从中获取指定文件,自动导入模块。

require.context(directory, useSubdirectories, regExp, mode = 'sync')

directory: 表示检索的目录
useSubdirectories:表示是否检索子文件夹
regExp: 匹配文件的正则表达式,一般是文件名
mode: 加载模式,“sync” | “eager” | “weak” | “lazy” | “lazy-once”

也就是说当文件夹中有多个文件时,我们可以一次性引入。

引入图片:

const imgFiles = require.context('/public', false, /.png$/)
imgFiles.keys().forEach((key) => {
  console.log(key, imgFiles(key))
})

vue require,vue.js,javascript,前端
.keys()获取引入的所有文件的key,content(key)获取引入文件的内容(路径或者base64)

引入json

const jsonFiles = require.context('/public', false, /.json$/)
jsonFiles.keys().forEach((key) => {
  console.log(key, jsonFiles(key)) // 旧的版本vue-cli可能需要 jsonFiles(key).default获取,请自行判断
})

vue require,vue.js,javascript,前端

引入模块js:

建立两个js文件
vue require,vue.js,javascript,前端
引入:

const jsFiles = require.context('/public', false, /.js$/)
jsFiles.keys().forEach((key) => {
  console.log(key, jsFiles(key))
})

vue require,vue.js,javascript,前端

引入vue文件:

我们可以用来批量注册全局组件
新建两个组件:
vue require,vue.js,javascript,前端
批量引入并注册:文章来源地址https://www.toymoban.com/news/detail-762052.html

app.use(store).use(router).mount('#app')
const comFiles = require.context('@/components', false, /.vue$/)
comFiles.keys().forEach((key) => {
  const reqCom = comFiles(key).default
  const comName = reqCom.name || key.replace(/\.\/(.*)\.vue/, '$1')
  console.log(key, reqCom)
  app.component(comName, reqCom)
})

到了这里,关于vue中的require的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • jQuery.js - 前端必备的Javascript库

    作者: WangMin 格言: 努力做好自己喜欢的每一件事 jQuery.js 是什么? jQuery是一个快速简洁、免费开源易用的JavaScript框架, 倡导写更少的代码,做更多的事情 。它封装JavaScript常用的功能代码,提供了一种简便的JavaScript设计模式,以及我们开发中常用到的操作DOM的API,优化HTML文

    2024年02月05日
    浏览(71)
  • web前端框架JS学习之JavaScript类型转换

    vascript有多种数据类型,如字符串、数字、布尔等,可以通过typeof语句来查看变量的数据类型。数据类型转换就是数据类型之间相互转换,比如把数字转成字符串、把布尔值转成字符串、把字符串转成数字等,这在工作也是经常碰到的。 本期我们就给大家说说web前端框架JS学

    2024年02月10日
    浏览(59)
  • JavaScript中的scrollTop(js中的scrollTop,滚动到顶部,javascript滚动到顶部)

    简述:scrollTop是JavaScript中一个非常有用且重要的方法,它用于获取或设置元素的垂直滚动条位置,实现各种滚动相关的功能,无论是回到顶部、滚动到指定位置还是监听滚动事件,都需要用到scrollTop,在本文中,我们将深入了解scrollTop的用法和实际应用,这是一张scrollTop的关

    2024年02月08日
    浏览(46)
  • 【前端灵魂脚本语言JavaScript⑤】——JS中数组的使用

    🐚 作者: 阿伟 💂 个人主页: Flyme awei 🐋 希望大家多多支持😘一起进步呀! 💬 文章对你有帮助👉关注✨点赞👍收藏📂 第一种: var 数组名 = new Array(); 创建一个空数组 第二种: var arr2 = new Array(10); 创建一个定长为10的数组 第三种 var arr3 = new Array(a,b,c); 创建时直接指定元素值

    2023年04月08日
    浏览(60)
  • 【JavaScript】3.4 JavaScript在现代前端开发中的应用

    JavaScript 是现代前端开发的核心。无论是交互效果,还是复杂的前端应用,JavaScript 都发挥着关键作用。在本章节中,我们将探讨 JavaScript 在现代前端开发中的应用,包括如何使用 JavaScript 来处理用户交互、动态内容、前端路由、API 请求等。 JavaScript 是处理用户交互的主要工

    2024年02月04日
    浏览(58)
  • 〖大前端 - 基础入门三大核心之JS篇㉓〗- JavaScript 的「数组」

    当前子专栏 基础入门三大核心篇 是免费开放阶段 。 推荐他人订阅,可获取扣除平台费用后的35%收益,文末名片加V! 说明:该文属于 大前端全栈架构白宝书专栏, 目前阶段免费开放 , 购买任意白宝书体系化专栏可加入 TFS-CLUB 私域社区。 福利:除了通过订阅\\\"白宝书系列专

    2024年02月04日
    浏览(67)
  • 【JS】JavaScript中的this关键字

    目录 this是什么? this的指向 ①全局环境 ②构造函数 ③对象的方法 this的四类调用方式 ①作为对象方法调用 ②纯粹的函数调用 ③作为构造函数调用 ④使用apply、call、bind调用 举例说明 JavaScript  this  指的是它所属的对象。 它拥有不同的值,具体取决于它的使用位置:

    2024年02月14日
    浏览(44)
  • 【前端|Javascript第5篇】全网最详细的JS的内置对象文章!

    前言 在当今数字时代,前端技术正日益成为塑造用户体验的关键。我们在开发中需要用到很多js的内置对象的一些属性来帮助我们更快速的进行开发。或许你是刚踏入前端领域的小白,或者是希望深入了解内置对象的开发者,不论你的经验如何,本篇博客都将给你详细的讲解

    2024年02月12日
    浏览(57)
  • [前端系列第3弹]JS入门教程:从零开始学习JavaScript

    本文将带领大家,从零开始学习JavaScript,fighting~ 目录 一、JavaScript简介 二、变量和数据类型 三、注释和分号 四、算术运算符 五、表达式和语句 六、代码块和作用域 七、函数(最重要)          JavaScript(简称JS)是一种运行在浏览器中的脚本语言,它可以让网页变得

    2024年02月13日
    浏览(58)
  • 〖大前端 - 基础入门三大核心之JS篇㉟〗- JavaScript 的DOM简介

    说明:该文属于 大前端全栈架构白宝书专栏, 目前阶段免费 , 如需要项目实战或者是体系化资源,文末名片加V! 作者:不渴望力量的哈士奇(哈哥),十余年工作经验, 从事过全栈研发、产品经理等工作,目前在公司担任研发部门CTO。 荣誉: 2022年度博客之星Top4、2023年度超

    2024年02月04日
    浏览(53)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包