Node.js NPM将部署软件
我想使用NPM来部署我的NodeJS+ExpressJS网站(API rest+front) 我现在要做的是:Node.js NPM将部署软件,node.js,npm,Node.js,Npm,我想使用NPM来部署我的NodeJS+ExpressJS网站(API rest+front) 我现在要做的是: 我设置了一个专用的NPM存储库 我将我的软件作为NPM包推送到这个存储库 我不安装我的软件 现在,问题来了,我必须做:node_modules/mysoftware/bin.js 在步骤4之后。我有以下文件树: . └── node_modules ├── my-software │ ├── bin.js │ ├── package.json │
.
└── node_modules
├── my-software
│ ├── bin.js
│ ├── package.json
│ └── src
├── some-required-module
│ ├── HISTORY.md
│ ├── index.js
│ ├── LICENSE
│ ├── package.json
│ └── README.md
我不喜欢这个文件树,因为所有的东西都是同一个层次的:我的软件和它的依赖性,这使得它非常混乱。
我希望是这样:
my-software
├── bin.js
├── package.json
├── src
└── node_modules
├── some-required-module
│ ├── HISTORY.md
│ ├── index.js
│ ├── LICENSE
│ ├── package.json
│ └── README.md
有没有办法将npm包作为项目安装,从而获得我想要的文件树?Am如果您使用的是npm v3。阅读这篇文章。Npm v3在节点模块目录中安装所有模块。我认为您想要的是旧的npm版本,如2。不,这篇文章是关于项目依赖性的。我想部署一个完整的项目及其与NPM的依赖关系,但我不希望所述项目位于node_modules目录中。您知道,所有NPM模块都安装在node_modules文件夹中。他们不可能成为项目的根。所以您需要将我的软件添加到git中。运行git克隆您的项目,然后执行npm安装。这将使树如你所愿。Mykola是对的。将应用程序发布为npm包将按设计生成此结构。模块应该是可重用的。如果你想让你的项目作为一个基础,不要把它作为一个npm包发布,而是按照Mykola正确的建议克隆它。我很惊讶这里或外面没有更多关于这个的讨论。这似乎是npm的一个根本缺陷。我很惊讶有这么多人使用git来部署解决方案。传统上,代码版本控制系统不是部署工具。它们用于源代码控制,而不是分发可运行的生产应用程序。阅读这篇文章。Npm v3在节点模块目录中安装所有模块。我认为您想要的是旧的npm版本,如2。不,这篇文章是关于项目依赖性的。我想部署一个完整的项目及其与NPM的依赖关系,但我不希望所述项目位于node_modules目录中。您知道,所有NPM模块都安装在node_modules文件夹中。他们不可能成为项目的根。所以您需要将我的软件添加到git中。运行git克隆您的项目,然后执行npm安装。这将使树如你所愿。Mykola是对的。将应用程序发布为npm包将按设计生成此结构。模块应该是可重用的。如果你想让你的项目作为一个基础,不要把它作为一个npm包发布,而是按照Mykola正确的建议克隆它。我很惊讶这里或外面没有更多关于这个的讨论。这似乎是npm的一个根本缺陷。我很惊讶有这么多人使用git来部署解决方案。传统上,代码版本控制系统不是部署工具。它们用于源代码控制,而不是分发可运行的生产应用程序。