Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/426.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 需要node.js中的npm模块的帮助_Javascript_Node.js_Npm - Fatal编程技术网

Javascript 需要node.js中的npm模块的帮助

Javascript 需要node.js中的npm模块的帮助,javascript,node.js,npm,Javascript,Node.js,Npm,我觉得我错过了一些基本的东西 因此,我使用npm install somelib安装了一个npm库。根据我所读到的,我应该能够简单地做一个 var somelib = require('somelib'); 但它什么也找不到。我的应用程序根目录中确实有一个node\u modules目录,但它似乎没有找到它 我尝试了require.path.push('node\u modules'),但没有帮助。唯一有效的办法是: require.paths.unshift('.'); var someli

我觉得我错过了一些基本的东西

因此,我使用
npm install somelib
安装了一个npm库。根据我所读到的,我应该能够简单地做一个

var somelib = require('somelib');
但它什么也找不到。我的应用程序根目录中确实有一个
node\u modules
目录,但它似乎没有找到它

我尝试了
require.path.push('node\u modules')
,但没有帮助。唯一有效的办法是:

require.paths.unshift('.');
var somelib = require('node_modules/somelib/lib/somelib');

这让我觉得这比加载npm库实际需要做的工作多得多。我做错了什么?我认为在应用程序中安装模块意味着我不必过多地使用环境变量或路径?

使用特定的模块名而不是“somelib”可能会有所帮助。。。但是检查包的
package.json
文件。显示
require.path
并进行比较。阅读节点的

可能是
somelib
在其
package.json
中没有定义
main
文件,或者引用不正确。如果
somelib
没有
main
,但有
目录.lib
,则可以改为
require('somelib/thefile.js')

如果
somelib
是用coffeescript编写的,而你的应用程序不是,那么你首先需要
require('coffee-script')


更新:因为
js2coffee
是coffeescript,我将与您一起去做后者。

您想安装什么?什么站台?是的,你说得对。您的第一个示例是它应该如何工作。您正在使用npm 1.0吗?包
somelib
可能没有名为
somelib
的文件。也可能是安装配置错误。实际上
js2coffee
,但我只是尝试了
express
,效果很好。我想不是所有的npm模块都能以这种方式
require
d?难道不需要npm模块的整个点吗?在一个server.js文件中需要所有npm模块可以吗。。。或者我们必须创建单独的文件。。。。最佳做法是什么