【发布时间】:2019-09-29 05:23:48
【问题描述】:
TLDR;创建一个可以为 web 捆绑的模块的最佳方法是什么?节点应用程序需要,和为 web 捆绑的节点模块需要?
我一开始有两个入口点,一个用于节点 (index.js),一个用于 web (index-web.js)。这适用于 web 捆绑,因为 webpack 使用 index-web.js。它也适用于节点应用程序的需求,因为它选择了 index.js。所以前两项“检查”。
但是,如果我需要我的模块来自为 web 捆绑的节点应用程序,它就不起作用,因为它默认选择 index.js。也许有一个简单的方法来处理它?
所以 Q1:当依赖模块 npm installs 或 npm links 我的模块时,有没有办法让依赖模块获取 web 入口点 (index-web.js) 甚至 web 包?
我已经尝试切换到只使用 index.js 并在其中放置条件要求(以(typeof window === 'undefined') 为条件)哪种可行,但是:
A) 我留下了那些令人讨厌的“警告:严重依赖”消息,我将要调查 (webpack issue #196)。
B) 我必须修改 dependency 模块的 webpack.config.js 以排除现在引用的某些内置函数(使用 externals),因为我在索引中使用条件要求。 js。从长远来看,这会破坏交易。
【问题讨论】:
-
我不确定这是什么意思,为 web 捆绑的节点应用程序需要。它可以是 Node 或 web(浏览器)。
-
抱歉,我的意思是为 web 捆绑的节点模块需要。