我们正在寻找一种构建或推荐的方式来操纵require / import方法的结果。
我们的应用程序是同构的。我们正在使用react软件包,该软件包在客户端上呈现一个Map,但在Server上却无法正常工作,因为它需要leaflet
而不是leaflet-headless
(在服务器上有效)。因此,我们的肮脏修补程序是告诉服务器,当服务器尝试要求模块leaflet
时,它应该改为要求leaflet-headless
。
这听起来很脏,但是我不知道我们的情况是否还有其他解决方案。
所以我的问题是:是否有解决此问题的推荐方法?还是我们应该像这样重写require方法:
// On Server only
const superRequire = require;
require = function(module) {
if (module === 'leaflet') module = 'leaflet-headless';
return superRequire(module);
}
最佳答案
你不能使用这样的东西吗?
const leaflet = require(typeof window === 'undefined' ? 'leaflet-headless' : 'leaflet')
关于javascript - 处理需求或导入结果的方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46501211/