热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

导入和导出JS库

这里我定义了一组库lib1.jsexportdefault{Func1(){return}}

这里我定义了一组库

lib1.js

export default {
Func1() {
return ...
}
}

(其他库也是如此)

在这里,我将这些库导入到主文件中,稍后再导入到我的Vue中:

api.js(不是lib1,lib2,lib3和api在同一文件夹中)

import './lib1';
import './lib2';
import './lib3';

正在显示:


Mix给我一个错误,指出找不到函数:

"export 'Func1' (imported as 'Api') was not found in '@/api/api' ....

我知道路径是正确的,因为例如,如果我直接在我的视图中导入库,那么它将起作用:

(vue):



这里有什么?我只希望“主”文件导入我的所有Api函数,而不是分别导入每个函数。

关于环境的其他说明:我正在使用Laraval 6和Vue。


有很多组合模块的方法,我创建了stackblitz来向您展示如何完成这些模块。
您的方法行不通,因为您导出了default,而当您尝试import './lib1';命名此类模块时,它只是未知的。
此外,import * as Api仅在您有多个named导出但没有一个default导出时才有效。
如我所见,您要将多个库合并到一个导出的对象。
有几种方法可以实现您的目标:


  1. 仅导出命名函数(我的最爱):

lib1

export function Func1() {
return ...;
}
export function Func2() {
return ...;
}

然后在主文件中:

import * as lib1 from './lib1';
export default {
...lib1
}


  1. 按照您的示例导出默认值

lib1

export default {
Func1() {},Func2() {}
}

然后在主文件中:

import lib1 from './lib1';
export default {
...lib1
}


  1. 导出默认但已合并

lib1

export default {
Func1() {},Func2() {}
}

然后在主文件中:

import lib1 from './lib1';
export default {
lib1
}

,但是在其他文件中,您应该像这样使用它:

import Api from '@api/api';
Api.lib1.Func1()

注意:在当前配置下,您应该使用import Api from '@api/api';,而不使用*
此外,与named相比,default的进口还算不错的article。

,

index.js是我的主意。将所有库导入到同一目录中的index.js中,然后从该文件中全部导出。然后,您可以将它们全部导入一个内衬中。

index.js

import lib1 from './lib1';
import lib2 from './lib2';
import lib3 from './lib3';
export {
lib1,lib2,lib3,};

vue

import { lib1,lib3 } from '@/[directory with index.js]';

或者我认为以下内容也可以使用,并且会像这样使用:

import libs from '@/[directory with index.js]';
libs.lib1.someFunction();

推荐阅读
  • Itwasworkingcorrectly,butyesterdayitstartedgiving401.IhavetriedwithGooglecontactsAPI ... [详细]
  • Vue3中setup函数的参数props和context配置详解
    本文详细介绍了Vue3中setup函数的参数props和context的配置方法,包括props的接收和配置声明,以及未通过props进行接收配置时的输出值。同时还介绍了父组件传递给子组件的值和模板的相关内容。阅读本文后,读者将对Vue3中setup函数的参数props和context的配置有更深入的理解。 ... [详细]
  • 本文介绍了闭包的定义和运转机制,重点解释了闭包如何能够接触外部函数的作用域中的变量。通过词法作用域的查找规则,闭包可以访问外部函数的作用域。同时还提到了闭包的作用和影响。 ... [详细]
  • Voicewo在线语音识别转换jQuery插件的特点和示例
    本文介绍了一款名为Voicewo的在线语音识别转换jQuery插件,该插件具有快速、架构、风格、扩展和兼容等特点,适合在互联网应用中使用。同时还提供了一个快速示例供开发人员参考。 ... [详细]
  • Go Cobra命令行工具入门教程
    本文介绍了Go语言实现的命令行工具Cobra的基本概念、安装方法和入门实践。Cobra被广泛应用于各种项目中,如Kubernetes、Hugo和Github CLI等。通过使用Cobra,我们可以快速创建命令行工具,适用于写测试脚本和各种服务的Admin CLI。文章还通过一个简单的demo演示了Cobra的使用方法。 ... [详细]
  • 本文记录了在vue cli 3.x中移除console的一些采坑经验,通过使用uglifyjs-webpack-plugin插件,在vue.config.js中进行相关配置,包括设置minimizer、UglifyJsPlugin和compress等参数,最终成功移除了console。同时,还包括了一些可能出现的报错情况和解决方法。 ... [详细]
  • 本文介绍了如何使用vue-awesome-swiper组件,包括在main.js中引入和使用swiper和swiperSlide组件,以及设置options和ref属性。同时还介绍了如何在模板中使用swiper和swiperSlide组件,并展示了如何通过循环渲染swipes数组中的数据,并使用picUrl属性显示图片。最后还介绍了如何添加分页器。 ... [详细]
  • 本文介绍了如何使用elementui分页组件进行分页功能的改写,只需一行代码即可调用。通过封装分页组件,避免在每个页面都写跳转请求的重复代码。详细的代码示例和使用方法在正文中给出。 ... [详细]
  • 先看看ElementUI里关于el-table的template数据结构:<template><el-table:datatableData><e ... [详细]
  • 用Vue实现的Demo商品管理效果图及实现代码
    本文介绍了一个使用Vue实现的Demo商品管理的效果图及实现代码。 ... [详细]
  • PHP反射API的功能和用途详解
    本文详细介绍了PHP反射API的功能和用途,包括动态获取信息和调用对象方法的功能,以及自动加载插件、生成文档、扩充PHP语言等用途。通过反射API,可以获取类的元数据,创建类的实例,调用方法,传递参数,动态调用类的静态方法等。PHP反射API是一种内建的OOP技术扩展,通过使用Reflection、ReflectionClass和ReflectionMethod等类,可以帮助我们分析其他类、接口、方法、属性和扩展。 ... [详细]
  • 一、路由首先需要配置路由,就是点击good组件进入goodDetail组件配置路由如下{path:goodDetail,component:goodDetail}同时在good组件中写入如下点击事件,路由中加入 ... [详细]
  • 我有使用googledrivepdf的共享链接,我必须使用angular7下载pdf文件。我已经完成了自欺 ... [详细]
  • 表单提交前的最后验证:通常在表单提交前,我们必须确认用户是否都把必须填选的做了,如果没有,就不能被提交到服务器,这里我们用到表单的formname.submit()看演示,其实这个对于我们修炼道 ... [详细]
  • javascript函数中参数传递问题示例探讨-相信每一位刚接触javascript的同学在函数参数传递上都会很疑惑,原因无他,那就是它的语法太怪异了,你定义一个函数例如funct ... [详细]
author-avatar
涛之圣首到
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有