Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/434.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 不使用命令安装节点扩展_Javascript_Node.js - Fatal编程技术网

Javascript 不使用命令安装节点扩展

Javascript 不使用命令安装节点扩展,javascript,node.js,Javascript,Node.js,我正在一家公司实习。 我需要创建一个节点服务器。 我在计算机(Windows)上安装了node,应该安装一些插件,如: -nodejs网页包 -颜色 -丑陋的 通常我需要输入如下命令:npm安装“theModule” 但该软件无法访问互联网(由于公司限制)和支持服务无法授权该软件(或不希望) 我可以用任何其他方式安装模块吗?(例如,从谷歌下载并将幻灯片归档到正确的文件夹中) 如果答案是“否”,您知道我如何绕过此安全性吗?您需要一个专用npm存储库 看看这个答案: 我找到了 举个例子,我们将安

我正在一家公司实习。
我需要创建一个节点服务器。
我在计算机(Windows)上安装了node,应该安装一些插件,如:
-nodejs网页包
-颜色
-丑陋的

通常我需要输入如下命令:
npm安装“theModule”

但该软件无法访问互联网(由于公司限制)和支持服务无法授权该软件(或不希望)

我可以用任何其他方式安装模块吗?(例如,从谷歌下载并将幻灯片归档到正确的文件夹中)



如果答案是“否”,您知道我如何绕过此安全性吗?

您需要一个专用npm存储库

看看这个答案:

我找到了

举个例子,我们将安装'nodejs websocket':
1) 您只需下载即可。
2) 将文件放入节点的目录(对我来说是“C:\Program files\nodejs\Node\u modules\npm\Node\u modules”)
3) 在.js文件中,只需添加以下行:
var ws=require(“C:/Program Files/nodejs/node\u modules/npm/node\u modules/nodejs websocket/”)



完成!谢谢大家:D

我添加了这个作为对您自己答案的评论,但我想我应该添加一个真实的答案,并提供更好的解释

通常,当您运行
npm install package name
npm时,会将软件包安装到此时所在目录中的
node\u modules
目录中。因此,如果您的应用程序位于
C:\code\my app
,那么您将
cd
进入该目录并运行
npm install package name
。这将在
C:\code\my app\node\u modules
处创建一个
node\u modules
目录,如果它不存在的话。然后它将
包名
安装到
C:\code\my app\node\u modules\package name
的目录中

只要模块位于应用程序的
node\u modules
目录中,您就可以在代码中要求该模块,而无需输入长文件路径

var ws = require('nodejs-websocket');
手动安装模块的位置是全局
节点\u modules
目录。如果您安装了
npm install-g package name
,npm就会在这里安装模块。安装npm时,全局
节点\u modules
目录将添加到系统路径中。换句话说,您在其中安装的任何模块都可以像其他任何命令一样从命令行访问。例如:

npm install -g bower
bower install angularjs
这将把“bower”包安装到全局npm模块目录中。Bower将作为命令行工具供您使用。例如:

npm install -g bower
bower install angularjs
全局目录更多的是用于类似的工具,而不是用于您打算在代码中使用的模块。从技术上讲,您可以像以前一样,通过在
require
调用中包含完整路径,从任何地方需要模块,但标准做法是将其放置在应用程序根目录中的
node\u modules
目录中,然后只需要其名称而不是完整路径


编辑:这里还有另一个技巧,您可能也想利用它

通常使用
npm安装包名称安装模块时,应用程序的根目录下通常有一个
package.json
文件。如果有,您可以执行
npm安装包名--save
,npm将
包名
模块添加到应用程序的
package.json
文件的列表中。一旦某个模块在你的应用程序的
package.json
文件中列出,它就被称为你的应用程序的“依赖项”,因为它基本上说你的应用程序依赖于
package name

通常,当您在
package.json
中列出依赖项时,您可以完全删除应用程序的
node\u modules
目录,然后只需从应用程序的根目录中运行
npm install
,npm将自动安装在应用程序的
package.json
文件中列出的所有依赖项。由于您的公司防火墙不允许自动下载模块,因此您将无法获得该好处。然而,遵循同样的惯例仍然是一种良好的做法

创建
package.json
文件的一个技巧是手动将依赖项安装到应用程序的
node\u modules
目录中。一旦你有了应用程序所需的模块,你可以指示npm通过运行
npm init
为你的应用程序创建一个
package.json
文件。它将引导您通过一些小提示来填写您的
package.json
文件,其中包含有关应用程序的详细信息。然后,它将查看您的
node\u modules
目录,查看您在拥有
package.json
文件之前是否已经安装了任何模块。如果找到了,它会自动将它们添加到它创建的
package.json
文件中的dependencies字段中:D


有了一个合适的
package.json
,即使你的
节点模块
目录被删除了,你也会有一个你的应用程序需要的依赖关系的整洁列表。通常,人们会将应用程序的
节点\ u模块
目录添加到
.gitignore
文件中,只检查
包.json
文件。通过这种方式,它们不会将依赖项存储在源代码管理中,但仍然可以通过在应用程序目录中运行
npm install
轻松地安装到克隆依赖项的新机器上。在您的情况下,您可能只想将
node\u模块
添加到源代码管理中,因为您不能让npm自动安装依赖项。

好的,谢谢,那么私有npm存储库的工作方式与Cydia中的存储库类似吗?它将为我提供一个具有某些节点扩展的替代“市场”,对吗?这可能不起作用,因为您仍然需要使用诸如
npm install couchapp
npm install semver
之类的命令