Gulp “如何调查”;找不到模块X“;来自Browserized捆绑包?

Gulp “如何调查”;找不到模块X“;来自Browserized捆绑包?,gulp,babeljs,browserify,Gulp,Babeljs,Browserify,绝望模式:尝试了许多不同的配置,但都失败了。我这里有一个名为videomail-client.js的browserified+babelified包: 该包的package.json主条目指向此文件 现在,当我require()从中的另一个项目中获取该包并对其进行浏览时,我从使用browserify的gulp任务中看到此错误: [16:26:32] Error: Cannot find module './keys' from '/home/michael-heuberger/code/vid

绝望模式:尝试了许多不同的配置,但都失败了。我这里有一个名为videomail-client.js的browserified+babelified包:

该包的package.json主条目指向此文件

现在,当我
require()
从中的另一个项目中获取该包并对其进行浏览时,我从使用browserify的gulp任务中看到此错误:

[16:26:32] Error: Cannot find module './keys' from '/home/michael-heuberger/code/videomail.io/node_modules/videomail-client/dist'
    at /home/michael-heuberger/code/videomail.io/node_modules/browser-resolve/node_modules/resolve/lib/async.js:55:21
    at load (/home/michael-heuberger/code/videomail.io/node_modules/browser-resolve/node_modules/resolve/lib/async.js:69:43)
    at onex (/home/michael-heuberger/code/videomail.io/node_modules/browser-resolve/node_modules/resolve/lib/async.js:92:31)
    at /home/michael-heuberger/code/videomail.io/node_modules/browser-resolve/node_modules/resolve/lib/async.js:22:47
    at FSReqWrap.oncomplete (fs.js:152:21)
嗯,听起来很复杂?让我重新措辞。包视频邮件客户端已浏览。另一个项目videomail.io需要它,并与其他软件包一起重新浏览。就是这样,它失败了

另一方面,当我使用videomail-client.js运行独立示例时,它工作得很好

我认为问题在于browserify无法解析
/keys
文件。但它应该包含在browserified videomail-client.js包中,并从那里解决。我如何告诉browserify以正确的方式解决它

建议欢迎我如何最好地调查和修复此问题。谢谢

这听起来很像我几年前遇到的问题(是的,很难描述:)


我一直没有得到答案,但也许你会有更好的运气。我最终采用的解决方案是不尝试重新浏览已经被浏览的图书馆;我最后只是将它连接起来,然后缩小整个包。

解决方案有两个步骤:使用browserify的独立选项和包。现在可以使用了。

…或者切换到WebPack,如果可以的话。根据我的经验,这是一款功能更为全面的捆绑机。嗯,谢谢,但我不想在这里放弃。但也许我应该考虑使用VimoMead客户端包本身的未经扩展的源代码。但是,问题是,它是用ES6编写的,任何其他需要它的项目都必须首先使用它,这很麻烦……事实上,这并不像你想象的那么牵强。ES6+项目可以引用源代码,ES5项目可以包含browserified库。这正在成为公认的/标准实践(ref)和上述网页)。是的,谢谢,但ES5项目仍然无法浏览自己,包括已经浏览的npm包。真的。我不认为Browserify是为那个用例设计的;我现在找不到,但当我给作者打电话时,他们的回答是“你为什么要这样做?”如果你能让它工作,请发布你的解决方案;我想看看。祝你好运美好的您介意发布解决方案(示例代码)并接受您的答案吗?如果你在那里得到示例代码,我也会从我以前的帖子链接;这将帮助下一个遇到此问题的可怜sap。:)没有足够的代表接受我自己的答案:)。。。在github上已经有了可行的解决方案