热门标签 | 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();

推荐阅读
  • 使用 Vuex 管理表单状态:当输入框失去焦点时自动恢复初始值 ... [详细]
  • 在 Vue 应用开发中,页面状态管理和跨页面数据传递是常见需求。本文将详细介绍 Vue Router 提供的两种有效方式,帮助开发者高效地实现页面间的数据交互与状态同步,同时分享一些最佳实践和注意事项。 ... [详细]
  • 深入解析 Vue 中通过 $route.params 实现参数传递的方法与技巧
    本文深入探讨了在 Vue 框架中利用 `$route.params` 进行参数传递的方法和技巧。通过详细解析 `$route.params` 的工作机制及其与 `$route.query` 的区别,帮助开发者更好地理解和应用这一功能。文章不仅涵盖了基本的使用方法,还提供了实际案例和最佳实践,以便读者能够灵活运用这些技术,提升开发效率和代码质量。 ... [详细]
  • 如何使用ES6语法编写Webpack配置文件? ... [详细]
  • 在最近的学习过程中,我对Vue.js中的Prop属性有了更深入的理解,并认为这一知识点至关重要,因此在此记录一些心得体会。Prop属性用于在组件之间传递数据。由于每个组件实例的作用域都是独立的,无法直接引用父组件的数据。通过使用Prop,可以将数据从父组件安全地传递到子组件,确保数据的隔离性和可维护性。 ... [详细]
  • 深入解析:React与Webpack配置进阶指南(第二部分)
    在本篇进阶指南的第二部分中,我们将继续探讨 React 与 Webpack 的高级配置技巧。通过实际案例,我们将展示如何使用 React 和 Webpack 构建一个简单的 Todo 应用程序,具体包括 `TodoApp.js` 文件中的代码实现,如导入 React 和自定义组件 `TodoList`。此外,我们还将深入讲解 Webpack 配置文件的优化方法,以提升开发效率和应用性能。 ... [详细]
  • 本文详细介绍了在 Vue.js 前端框架中集成 vue-i18n 插件以实现多语言支持的方法。通过具体的配置步骤和示例代码,帮助开发者快速掌握如何在项目中实现国际化功能,提升用户体验。同时,文章还探讨了常见的多语言切换问题及解决方案,为开发人员提供了实用的参考。 ... [详细]
  • 深入解析 Vue3 中的响应式 API:shallowReactive、shallowRef、triggerRef 和 customRef 的使用与原理
    深入解析 Vue3 中的响应式 API:shallowReactive、shallowRef、triggerRef 和 customRef 的使用与原理 ... [详细]
  • 2.2 组件间父子通信机制详解
    2.2 组件间父子通信机制详解 ... [详细]
  • 优化Vite 1.0至2.0升级过程中遇到的某些代码块过大问题解决方案
    本文详细探讨了在将项目从 Vite 1.0 升级到 2.0 的过程中,如何解决某些代码块过大的问题。通过具体的编码示例,文章提供了全面的解决方案,帮助开发者有效优化打包性能。 ... [详细]
  • 基于 Vue 和 Element UI 实现的简洁登录界面设计
    本文介绍了一种利用 Vue.js 和 Element UI 框架构建的简洁登录界面设计。该设计不仅注重用户体验,还确保了界面的美观性和易用性。通过合理的布局和组件配置,实现了高效、响应式的登录功能,适用于多种前端应用场景。 ... [详细]
  • 如何撰写初级和高级前端开发者的专业简历
    如何撰写初级和高级前端开发者的专业简历 ... [详细]
  • 在 Vue.js 中实现网络请求的方法与最佳实践包括使用 `vue-resource` 插件。首先,通过命令 `npm install vue-resource --save` 安装该插件,确保添加 `--save` 参数以将依赖项记录到 `package.json` 文件中。此外,推荐使用 `axios` 作为替代方案,因为它提供了更强大的功能和更好的性能。在项目中引入并配置 `axios`,可以实现更高效、灵活的网络请求管理。 ... [详细]
  • 本文深入探讨了 Vue 框架中的混入(mixins)机制及其实际应用场景。首先,文章从官方文档出发,详细解读了混入的基本概念和核心原理。接着,通过具体的代码示例,展示了如何创建和使用混入,帮助开发者更好地理解和掌握这一功能。此外,文章还对比了混入与 Vuex、公共组件之间的区别,明确了各自适用的场景和优缺点,为开发者在项目中选择合适的技术方案提供了参考。 ... [详细]
  • 深入解析 Vue 中的 Axios 请求库
    本文深入探讨了 Vue 中的 Axios 请求库,详细解析了其核心功能与使用方法。Axios 是一个基于 Promise 的 HTTP 客户端,支持浏览器和 Node.js 环境。文章首先介绍了 Axios 的基本概念,随后通过具体示例展示了如何在 Vue 项目中集成和使用 Axios 进行数据请求。无论你是初学者还是有经验的开发者,本文都能为你解决 Vue.js 相关问题提供有价值的参考。 ... [详细]
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社区 版权所有