Javascript 使用rekuire、requirish或rfr解决nodejs require相关问题时未找到模块
我希望通过使用推荐的解决方案之一来避免复杂的相对路径问题。我遇到过三个类似的库:Javascript 使用rekuire、requirish或rfr解决nodejs require相关问题时未找到模块,javascript,npm,browserify,Javascript,Npm,Browserify,我希望通过使用推荐的解决方案之一来避免复杂的相对路径问题。我遇到过三个类似的库: 我已经尝试了这三种方法,但都失败了,出现了“模块未找到”或类似错误,这让我相信我在做一些根本错误的事情。我对npm/node相对缺乏经验。我只使用浏览器中的节点使用browserify将我的应用程序捆绑到单个JS文件中 下面是我非常简单的hello world示例: 结构: Bob.js app.js 捆绑到单个JS中: Chrome的控制台成功输出“我是Bob” 现在,如果我尝试使用这些库,让我们说r
现在,如果我尝试使用这些库,让我们说requirish: 要求:
npm install requirish
'use strict';
var rfr = require('rfr');
var Bob = rfr('lib/Bob');
console.log(Bob());
app.js更改
捆绑更改
我得到以下错误:
Error: Cannot find module '/lib/Bob' from '/Users/ngb/projects/MyApp/src/main/resources/public/js/hello'
at /Users/ngb/.nvm/v0.10.30/lib/node_modules/browserify/node_modules/resolve/lib/async.js:42:25
Uncaught Error: Cannot find module 'lib/Bob'
RFR:
npm install requirish
'use strict';
var rfr = require('rfr');
var Bob = rfr('lib/Bob');
console.log(Bob());
建筑
Chrome的控制台输出以下错误:
Error: Cannot find module '/lib/Bob' from '/Users/ngb/projects/MyApp/src/main/resources/public/js/hello'
at /Users/ngb/.nvm/v0.10.30/lib/node_modules/browserify/node_modules/resolve/lib/async.js:42:25
Uncaught Error: Cannot find module 'lib/Bob'
Browserify可以通过解析字符串“require”找到模块。 如果要同时使用客户端和服务器端,请使用for server-side和for browserify的转换 在我看来,“rfr”是最好的,因为该模块不会覆盖原始需求 -------注意!补充资料, 今天,browserify rfr版本将我的本地文件路径保留为bundle.js。这可能会导致另一个问题,所以我选择了。由于requiresh通过将新路径推送到module.paths来更改原始require的行为,因此您总是会注意到这一点并提醒您的同事 谢谢
'use strict';
var rfr = require('rfr');
var Bob = rfr('lib/Bob');
console.log(Bob());
browserify app.js -o bundle.js -d
Uncaught Error: Cannot find module 'lib/Bob'