我觉得我在这里缺少一些基本知识...
所以我用npm install somelib
安装了一个npm库。从我读过的书中,我应该能够简单地做一个
var somelib = require('somelib');
但是它找不到任何东西。我的应用程序的根目录确实有一个
node_modules
目录,但似乎没有找到它。我尝试了
require.paths.push('node_modules')
,但没有帮助。似乎唯一起作用的是:require.paths.unshift('.');
var somelib = require('node_modules/somelib/lib/somelib');
这让我觉得这比加载npm库所需要做的工作要多得多。我在这里做错了什么?我以为在应用程序中安装模块意味着我不必过多地关注环境变量或路径?
最佳答案
somelib
可能没有在其main
中定义的package.json
文件,或者未正确引用该文件。如果somelib
没有main
,但是确实有directories.lib
,那么您可以改为require('somelib/thefile.js')
。
如果somelib
是用coffeescript编写的,而您的应用不是,则您需要先require('coffee-script')
。
更新:,因为js2coffee
是coffeescript,我要和你一起去做。