我在一家公司实习。
我需要创建一个节点服务器。
我在计算机(Windows)上安装了节点,我应该安装以下插件:
.nodejs=‘nodejs 5’>.nodejs=‘nodejs 2’>- nodejs-webpack
暗色
3. uglify =‘uglify 2’>.
通常,我需要输入一个命令,如:npm install "theModule"
但是软件不能访问互联网(由于公司的限制)和支持服务不能授权的软件(或不想)。
我可以以任何其他方式安装模块吗?(例如,从Google和幻灯片档案下载到正确的文件夹)。
如果答案是否定的,你知道我怎样才能避开这个安全措施吗?
发布于 2015-04-21 11:23:33
发布于 2015-04-21 11:57:58
我找到了!
举个例子,我们将安装‘’:
1)只需下载这里即可。
2)将文件放到节点的目录中(对我来说是“C:\ProgramFiles\nodejs\node_modules\npm\node_modules”)
3)在.js文件中,只需添加以下一行:var ws = require("C:/Program Files/nodejs/node_modules/npm/node_modules/nodejs-websocket/")
搞定了!谢谢大家:D
发布于 2015-04-21 16:20:15
我把这作为对你自己的答案的评论,但我想我应该用一个更好的解释来补充一个真正的答案。
通常,当您运行npm install package-name npm时,将包安装到您所在目录中的node_modules目录中。因此,如果您的应用程序位于C:\code\my-app,那么您将cd进入该目录并运行npm install package-name。这将在node_modules目录不存在的情况下在C:\code\my-app\node_modules创建一个目录。然后将package-name安装到C:\code\my-app\node_modules\package-name的那个目录中。
只要模块位于应用程序的node_modules目录中,您就可以在代码中要求模块,而无需输入大的长文件路径。
var ws = require('nodejs-websocket');手动安装模块的位置是全局node_modules目录。如果你做了npm install -g package-name,那么npm就会在那里安装一个模块。在安装npm时,全局node_modules目录将添加到系统路径中。换句话说,您在其中安装的任何模块都可以从命令行访问,就像其他命令一样。例如:
npm install -g bower这将将"bower“包安装到全球npm模块目录中。Bower可以作为命令行工具访问,供您使用。例如:
bower install angularjs全局目录更适合这样的工具,而不是真正用于您打算在代码中使用的模块。从技术上讲,您可以像以前一样在require调用中包含完整路径,从而从任何地方要求模块,但标准做法是将其放在应用程序根目录的node_modules目录中,然后只需要它的名称,而不是完整的路径。
编辑:,这是另一个您可能也想要利用的技巧。
通常使用npm install package-name安装模块时,应用程序通常在其根目录处有一个package.json文件。如果是这样的话,你可以做npm install package-name --save,npm会将package-name模块添加到应用程序的package.json文件中的列表中。一旦一个模块被列在应用程序的package.json文件中,它就被称为应用程序的“依赖”,因为它基本上是说应用程序依赖于package-name。
通常,当package.json中列出依赖项时,您可以完全删除应用程序的node_modules目录,然后在应用程序的根目录中运行npm install,然后npm会自动安装应用程序的package.json文件中列出的所有依赖项。因为您的公司防火墙不允许自动下载模块,所以您将无法获得这种好处。然而,遵循同样的公约仍然是良好的做法。
创建package.json文件的一个技巧是手动将依赖项安装到应用程序的node_modules目录中。一旦您有了您的应用程序需要的模块,您可以指示npm为您的应用程序创建一个package.json文件,只需运行npm init。它将引导您通过几个小提示填写您的package.json文件与您的应用程序的细节。然后,它将在您的node_modules目录中查看是否已经安装了package.json文件之前是否已经安装了任何模块。如果找到,它将自动将它们添加到它创建的package.json文件中的依赖项字段:D中。
有了适当的package.json,即使删除了node_modules目录,应用程序所需要的依赖项也会有一个很好的列表。通常,人们会将应用程序的node_modules目录添加到他们的.gitignore文件中,只在package.json文件中签入。通过这种方式,它们不会将依赖项存储在源代码管理中,但它们仍然可以轻松地安装在新的机器上,只要在应用程序的目录中运行npm install就可以复制它。但是,在您的情况下,您可能只想将node_modules添加到源代码管理中,因为您不能让npm自动安装依赖项。
https://stackoverflow.com/questions/29770761
复制相似问题