我觉得我在这里缺少一些基本知识...

所以我用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,我要和你一起去做。

08-17 08:53