如何使用Webpack向第三方库添加功能

时间:2019-10-16 20:59:12

标签: node.js webpack browserify

目标

说我在package.json中

"dependencies": {
  "some-library": "^1.0.0"
}

然后some-library导出一个对象。我有一个基本上可以使用的“ utils”文件

import * as SomeLibrary from "some-library";

SomeLibrary.extraUtility = /* ... */
// and maybe introduce a requirement on some custom CSS related to the library

module.exports = SomeLibrary

我想进行一些设置,以便在我的其余JS代码中,如果我执行import ... from "some-library",它将改为解析为上面的“ utils”文件,确保存在extraUtility无需记住分别导入utils文件,例如

// actual-code.js
import * as SomeLibrary from "some-library";

SomeLibrary.extraUtility(...)

我得到了什么

当前,我有一个基于Browserify的旧设置,在其中我将原始库重命名为<module>-base,然后在我的utils文件中这样做

const SomeLibrary = require('some-library-base')
SomeLibrary.extraUtility = /* ... */
module.exports = SomeLibrary

并添加一个模块解析器规则,该规则将some-library(或任何其他受影响的模块)映射到相应的utils文件而不是node_modules。 感觉很hacky,但是完成了工作。但是现在我希望迁移到基于Webpack的现代设置,而这一功能似乎是最大的障碍。是否有可用于Webpack的配置设置或插件?我需要编写自己的插件来模仿我在Browserify构建中所做的事情吗?

0 个答案:

没有答案