Node.js 在nodester中如何管理npm包?

Node.js 在nodester中如何管理npm包?,node.js,npm,nodester,Node.js,Npm,Nodester,我不明白nodester是如何管理节点包的。当我从CLI运行nodester npm install时,在我的应用程序的源文件夹中看不到任何软件包。在我的文件夹中看不到这些软件包的情况下,我是否可以按常规方式使用它们(就好像我已将它们直接安装在我的应用程序文件夹中一样) 有人建议我不要将包直接存储在文件夹中,因为Nodester免费提供Node PaaS,如果不优化我的应用程序并使其使用最少的空间,那将是不友好的 其次,有没有一种方法可以让我在本地和nodester上运行应用程序。我如何告诉gi

我不明白nodester是如何管理节点包的。当我从CLI运行
nodester npm install
时,在我的应用程序的源文件夹中看不到任何软件包。在我的文件夹中看不到这些软件包的情况下,我是否可以按常规方式使用它们(就好像我已将它们直接安装在我的应用程序文件夹中一样)

有人建议我不要将包直接存储在文件夹中,因为Nodester免费提供Node PaaS,如果不优化我的应用程序并使其使用最少的空间,那将是不友好的

其次,有没有一种方法可以让我在本地和nodester上运行应用程序。我如何告诉git不要推送本地安装的git模块。我听到过类似于git ignore的声音。我如何管理git ignore,以便我的本地包不会推送到nodester上


我可能没有很好地阐述这个问题,因为我是node的新手,所以任何可以更好地提出我的问题的人,都可以自由地编辑这个

通常最好的方法是将node\u modules dir添加到.gitignore文件中。My.gitignore对于我的节点项目如下所示:

*.sw*
.DS_Store
node_modules
第一行忽略任何Vim temp文件,第二行忽略OSX.DS_存储文件,最后一行忽略我的node_modules dir。如果已提交,则需要首先使用
git rm
从回购协议中删除节点\u modules dir

更多的解释。gitignore文件来自GitHub

这会让Git忽略你的节点模块,太棒了。其次,您需要创建一个package.json文件。这就是告诉npm(和Nodester)你的应用程序所依赖的东西

{
  "author": "Mr Awesome",  // This is your name :)
  "name": "my_awesome_app",  // This is your apps name 
  "description": "More awesome than most other apps.",  // What your app does
  "version" : "0.0.1",  // Your apps version (increment this when you deploy)
  "node": "0.6.12",  // The version of node you want Nodester to run your app on
  "dependencies": {
     "connect" : "2.0.3", // depend on version 2.0.3 of connect 
     "express" : "*" // depend on the latest version of express
  }
}
有关package.json格式的更多信息,请参见:

当您推送到nodester时,应该阅读package.json并安装您的依赖项


希望有帮助

这听起来像是两个独立的问题(nodester将软件包放在哪里,我如何在这两个地方运行应用程序)。如果您将此问题编辑为一个问题,并分别询问第二个问题,人们可能会更容易回答。依赖项将安装在哪里?是否仅随我的应用程序一起安装?这是否意味着在
依赖项中提及它们与直接在文件夹中安装它们是同一回事?通过“在文件夹中安装它们”,您的意思是仅提交节点模块目录?这应该永远避免。在
dependencies
中提到它们和使用
nodester npm install[module]
在技术上是一样的。它们会的,您可以在本地安装它们,只是不要将它们提交到存储库中。在工作目录中使用
npm install
run安装package.json文件中的所有内容。.gitignore文件确保它们不会被提交。只是出于好奇,我不会这么做,我可以在nodester上部署一个安装了npm包的应用程序吗。例如,我使用
npm install express
安装了软件包,但没有
.gitignore
d安装它。这个应用程序会工作吗?我可以用这种方式使用express吗?我认为这不会工作(请随意尝试),但我不知道在Nodester中如何工作的细节。从理论上讲,这可能是可行的。