绝望模式:尝试了许多不同的配置,都失败了。我有一个browserified + babelified束称为视频邮件,client.js这里:如何调查来自browserified bundles的“无法找到模块X”?
https://github.com/binarykitchen/videomail-client/tree/develop/dist
的的package.json的那个包的主入口指向此文件。
现在,当我从require()
内的其他项目,包和browserify,然后我看到使用browserify从一饮而尽任务此错误:
[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)
Hmnmm,听起来很复杂?让我重述一下。包视频邮件客户端浏览。另一个项目videomail.io需要它,并再次与其他软件包一起重新浏览。那就是它失败了。
在附注中,当我使用videomail-client.js运行独立示例时,它工作正常。
我认为问题是,browserify无法解析./keys
文件。但它应该包含在browserified的videomail-client.js包中并从那里解析。我如何告诉browserify以正确的方式解决问题?
建议欢迎我如何调查和解决这个问题。谢谢!!
...或切换到WebPack,如果这是一个选项。根据我的经验,这是一个更多功能的打包机。 –
mmmhhh,谢谢,但不想放弃在这里。但也许我应该考虑使用视频邮件客户端软件包本身的未经过浏览的源代码。但问题在于,它是用ES6编写的,任何其他需要它的项目都必须首先对它进行babelify处理,这很麻烦...... –
实际上,这并不像您想象的那么遥远。 ES6 +项目可以引用来源,而ES5项目可以包含browserified库。这正成为接受/标准做法(ref [rollup js](https://github.com/rollup/rollup#publishing-es6-modules))和上述WebPack)。 –