webpack 从多个入口文件导出类

2024-02-20

我正在使用 webpack 捆绑一个框架供第三方使用。该框架应该公开多个 ES6 类。我以模块化方式构建,每个文件编写一个类。我想要做的是将所有这些文件构建在一起,并将它们捆绑在给定的“命名空间”下。例子:

苹果.jsexport class Apples {...}
橙子.jsexport class Oranges {...}

webpack.config.js:

module.exports = {
  entry: ['./src/apples.js', './src/oranges.js'],
  output: {
    path: './dist',
    filename: 'fruit.js',
    library: 'Fruit',
    libraryTarget: 'umd'
  }
}

但是,如果我在浏览器中加载这个库并输入Fruit在控制台中,我只看到 Fruit 下的 Oranges 对象。只有最后一个条目文件在库中被公开。果然,webpack 文档证实了这种行为:

如果传递数组:所有模块都会在启动时加载。最后一张已导出。http://webpack.github.io/docs/configuration.html#entry http://webpack.github.io/docs/configuration.html#entry

我当前的解决方法是从一个文件导出所有类,但它变得非常笨拙。

如何设置一个包含多个全部导出的条目文件的库?或者我在这里做错事了?


我认为您最好使用entry.js 文件来指示如何组织多个模块。

import Apples from './apples';
import Oranges from './oranges';

export {
    Apples,
    Oranges
};

顺便说一句,如果你不想自己编写这样愚蠢的代码,请使用 Gulp/Grunt 通过某种逻辑生成文件“entry.autogenerate.js”,然后使用条目“entry.autogenerate.js”运行 webpack 。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

webpack 从多个入口文件导出类 的相关文章

  • 为什么 lodash 将我的数组转换为对象?

    我是 lodash 的新手 创建了一个函数 该函数从值为 null 或空白的对象中删除键 但是当我传递包含某些部分作为数组的对象时 它会删除数组并将其转换为对象 下面是我尝试过的代码 mixin removeFalsies this rem
  • 从 JavaScript 重新启动动画 GIF,无需重新加载图像

    我正在使用动画 GIF 创建动画幻灯片 我正在从一个动画淡入淡出到下一个动画 问题是 我发现确保 GIF 从第一帧开始动画的唯一方法是每次显示时重新加载它 每个 GIF 大约 200KB 这对于连续幻灯片播放来说带宽太大了 这是我当前的代码
  • 使用Javascript自动打开弹出新窗口[重复]

    这个问题在这里已经有答案了 如何使用Javascript加载页面时打开弹出新窗口 我希望 当网站加载时 它会自动打开弹出新窗口 我使用以下内容 不行 尝试这个
  • 元素存在之前的html5音频绑定时间更新

    我试图从音频标签绑定 timeupdate 事件 该标签尚不存在 我习惯这样做 body on click selector function e 我用音频标签尝试了这个 body on timeupdate audioPlayerJS a
  • 添加选中的单选按钮的总数

    UPDATE 如果您尝试此链接上的表格http jsfiddle net Matt KP BwmzQ http jsfiddle net Matt KP BwmzQ 按下小提琴并选择右上角的 40 英镑单选按钮 然后在底部看到订单总额 上面
  • 在设置后用 Javascript 替换 'var' css 属性

    我有一个元素 其上设置了 var 属性 如下所示 div class divwithbackground div CSS divwithbackground after background image var page header se
  • ECMAScript 6 类中的 getter 和 setter 有何用途?

    我对 ECMAScript 6 类中 getter 和 setter 的意义感到困惑 什么目的 下面是我参考的一个例子 class Employee constructor name this name name doWork return
  • 按 Enter 键提交消息?

    我正在开发一个基于本教程使用 Meteor 构建的聊天应用程序 http code tutsplus com tutorials real time messaging for meteor with meteor streams net
  • 使用 jQuery live() 初始化插件?

    使用 jQuery 在特定类的所有当前和未来元素上自动初始化插件的最佳方法是什么 例如 假设我想要全部
  • 当key未知时如何获取js对象中的属性值

    我有一个对象数组 a 81 25 p 81 25 81 26 p 81 26 我想循环遍历数组并获取值p在每个元素中 for var key in a console log a key outputs 81 25 Object How d
  • 全日历与 UTC 和本地日期的混淆

    我确实让 fullcalendar 正常初始化 所以它代表当前日期 午夜 gt 午夜 1 天 1 小时时段 我从其他一些数据源获取带有时间戳的数据 格式为 YYYY MM DD HH mm 作为字符串传输 无时区信息 因此 我将该字符串转换
  • 2 个 SVG 路径的交集

    我需要检查两个 SVG Path 元素是否相交 检查边界框与 getBBox 太不准确了 我目前正在做的是迭代两条路径 getTotalLength 然后检查是否有两个点 getPointAtLength 是平等的 下面是一个片段 但正如您
  • React setState回调返回值

    我是 React 新手 我希望实现这种流程 set the state execute a function f an async one which returns a promise set the state again return
  • JavaScript 中的安全数据

    我必须为 Web 测试创建生成器 使用 HTML 和 JavaScript 测试必须离线和在线进行 正确答案和分数评估必须是生成的测试的一部分 最终用户的分数仅发送到服务器 无法在服务器上进行评估 并且服务器对问题一无所知 它只保存最终分数
  • 检查是否安装了 Google Analytics 或 Universal Analytics?

    我正在尝试通过 JavaScript 来确定是否加载了 Google Analytics 或 Universal Analytics 一些客户仍在使用旧的 Google Analytics 我们希望推出一个收集数据的 JavaScript
  • 反转比例函数

    这对我来说很有趣 看下面的D3代码 var scale d3 scale linear domain 100 500 range 10 350 scale 100 Returns 10 scale 300 Returns 180 scale
  • 如何在 getStaticPaths 内添加 params 值数组

    我有一个页面 其结构如下 read slug number 我想要得到slug每个对应的值number in the getStaticPaths这是代码 export async function getStaticPaths const
  • 使用 jQuery 的 ajax 方法以 blob 形式检索图像

    我最近问了另一个 相关 问题 这导致了这个后续问题 提交数据而不是输入表单的文件 https stackoverflow com questions 17643142 submitting data instead of a file fo
  • 数组长度未定义[关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 我试图按如
  • 如何向 SvelteKit/Vite 应用添加版本号?

    我正在尝试在我的 SvelteKit 应用程序中创建一个系统 它会在某个页面上向您显示有关当前应用程序版本的信息 最好是 Git 提交哈希和描述 我尝试使用Vite的定义功能 https vitejs dev config define在构

随机推荐

  • 如何设置没有@id元素的@entity?

    我有这个豆子 Entity Table name accesos public class Acceso implements Serializable Column name idUser private String idUser Ma
  • 群体行为问题

    昨天我看到了克雷格雷诺兹的Boids http www red3d com cwr boids 随后我想尝试一下用 Java 实现一个简单的 2D 版本 我已经根据以下内容整理了一个相当基本的设置康拉德 帕克的笔记 http www ver
  • 使用PostgreSQL全文搜索排名的最佳方式

    继从这个答案 https stackoverflow com a 4014625 265521如果我想按排名排序 我想知道使用 PostgreSQL 内置全文搜索的最佳方法是什么 and限制为仅匹配查询 让我们假设一个非常简单的表 CREA
  • 递归 C void 函数和 return 关键字

    有人知道以下之间的内部区别 void RecFoo1 int bar if bar 0 return RecFoo1 bar 1 and void RecFoo2 int bar if bar 0 return return RecFoo2
  • 箭头函数 - 为什么会将全局对象打印到控制台? [复制]

    这个问题在这里已经有答案了 为什么o foo 将全局对象打印到控制台 let o foo gt console log this bar console log this o foo Global object undefined o ba
  • “__COMPAT_LAYER”实际上是做什么的?

    最近 我试图给我应用程序管理员权限 无需系统询问 您想授予管理员权限吗 我找到了一种效果很好的方法 我找到的解决方案 我创建了一个名为的bat文件非管理员 bat并在其中写入以下代码 cmd min C set COMPAT LAYER R
  • 将 javah -jni 与 Eclipse 项目结构结合使用

    我需要知道我是否以错误的方式做事 我有以下项目结构 一个非常标准的结构 然后我已经配置了javah作为这样的外部工具 当我运行外部工具时OSManager4Windows java我期待着找到it univpm quickbackup ut
  • 分析 CherryPy

    我一直在尝试开始分析我的 CherryPy Web 服务器 但文档缺乏如何设置的详细信息 我明白我应该能够使用cherrypy lib profiler作为安装我的初始服务器的中间件 现在 我有如下代码 server app ServerC
  • 通配符子域和子文件夹作为 .htaccess 中的参数

    我有一个门户网站http www mysite com http www mysite com 客户在其中注册并获得自己的网站子域版本来运行我的应用程序 我已经设置了通配符子域 DNS VirtualHost 等并使其正常工作 我想要设置的
  • ASP.NET Core 中的服务器端图形

    我最近将 ASP NET MVC 应用程序从 ASP NET 升级到 ASP NET Core 在我的控制器操作中 我有一段依赖 System Drawing 来创建个人资料图片的代码 using FileStream stream new
  • 在 JUnit 测试中的 MockHttpServletRequest 中设置 @ModelAttribute

    我正在尝试测试 spring mvc 控制器 其中一种方法采用表单输入作为 POST 方法 该方法通过一个获取表单的commandObject ModelAttribute注解 如何使用 Spring 的 Junit 测试设置此测试用例 控
  • “在惯常位置找不到 Google Cloud SDK,并且未提供路径。”詹金斯

    我对詹金斯很陌生 但几天来我一直在寻找这个问题的答案 我在 localhost 8080 上运行 jenkins 我用 Java 编写了一个程序 它使用 gradle 部署到 Google App Engine 云 现在我想使用 Jenki
  • Tensorboard 陷入“命名空间层次结构寻找相似子图”的困境

    我尝试通过 Tensorboard 可视化 CNN 的迭代过程 但浏览器总是卡在 命名空间层次结构查找相似子图 中 然后崩溃 QAQ为什么会出现这种情况 我该如何修复它 陷入 命名空间层次结构寻找相似子图 的困境 https i stack
  • DBI::InterfaceError:无法加载驱动程序(未初始化常量 MysqlError)

    我已经包括了宝石 dbd mysql 0 4 4 dbi 0 4 5 mysql 2 8 1 当我运行以下代码时 在 Rails 控制台上 require rubygems require dbi require dbd mysql dbh
  • 增加边框宽度时如何防止相邻元素移动?

    我有一个由盒子组成的简单布局 action box width 300px height 200px border 1px solid black float left margin left 10px margin top 10px ac
  • iOS - 动画效果 - 图像弹出

    我希望 iPhone 应用程序中的图像能够 弹出 在屏幕上 而不仅仅是出现 我所说的 弹出 是指它会从小点增长到实际大小 作为参考 这与 Keynote 中的 pop 动画效果完全相同 我对 iOS 动画完全陌生 所以如果有人能指出我需要使
  • Wordpress EC2 上的永久链接

    我刚刚将我的博客从本地网络服务器转移到 Amazon EC2 Free Linux 服务器 现在除了永久链接之外一切似乎都正常 我禁用并重新启用它们 但它仍然中断 我尝试过运行脚本 sudo a2enmod rewrite 但它说 a2en
  • 又名获取计划。又名获取组。 QueryDSL 中的实体图

    我无法找到任何在 QueryDSL 中实现获取计划的方法 我尝试了很多 你能为我提供任何提示吗 另外 您是否知道在不同情况下选择要获取哪些字段以及延迟加载哪些字段的更好方法 我使用批量获取 因此无法使用 JOIN FETCH 使用这样的 E
  • 选择包含日语字符的 MySQL 行

    有人知道一种可靠的方法 使用 mySQL 或其他方式 来选择数据库中包含日语字符的行吗 我的数据库中有很多行 其中一些仅包含字母数字字符 其中一些包含日语字符 当您遇到字符集问题时的规则 创建数据库时使用utf8编码 CREATE DATA
  • webpack 从多个入口文件导出类

    我正在使用 webpack 捆绑一个框架供第三方使用 该框架应该公开多个 ES6 类 我以模块化方式构建 每个文件编写一个类 我想要做的是将所有这些文件构建在一起 并将它们捆绑在给定的 命名空间 下 例子 苹果 jsexport class