【发布时间】:2019-10-02 21:14:21
【问题描述】:
当前的 cssuseragent 包 (2.1.31) 不导出任何内容。只有一个名为 cssua 的变量。我想用 webpack 将它导入/要求到我的项目中。
我尝试在 cssua 变量之前添加 export 关键字并且它起作用了。但这不是一个好的解决方案。如果将来有其他人升级包,她/他不会知道他/他必须这样做。
在 CLI 中:
npm i cssuseragent
然后我导出cssua变量:
//'export' was not exist, I added it
export var cssua = (
//some code here
)(/*some arguments here*/)
然后我可以导入:
import { cssua } from 'cssuseragent';
有没有办法通过加载器或插件对 webpack 说“如果您在 import/require 中解析到这个文件,请将其作为 'custom-name' 及其所有内容获取”?因为更改第 3 方模块的源代码不是一个好方法。也可能不是每次都这么简单,模块可能很大。我想要一种通用的方法来做到这一点,也许就像只添加模块的路径。
【问题讨论】:
-
你可以在 Github 上为此创建一个拉取请求。
-
@madflow 当然我可以为此创建一个拉取请求,但我不能为每个不使用导出的包创建拉取请求。我们不能等到请求得到确认,我的请求可能未得到确认,或者库可能很复杂且无法编辑。我的意思是我的问题不仅仅与 cssua 有关,它与每个未导出的包有关。
-
是的:/你不能只使用
import 'cssuseragent';并使用全局导出变量(如果存在的话:/)。
标签: javascript npm webpack