Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/41.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.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
Node.js NPM将部署软件_Node.js_Npm - Fatal编程技术网

Node.js NPM将部署软件

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 │

我想使用NPM来部署我的NodeJS+ExpressJS网站(API rest+front)

我现在要做的是:

  • 我设置了一个专用的NPM存储库
  • 我将我的软件作为NPM包推送到这个存储库
  • 我不安装我的软件
  • 现在,问题来了,我必须做:node_modules/mysoftware/bin.js
  • 在步骤4之后。我有以下文件树:

    .
    └── 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来部署解决方案。传统上,代码版本控制系统不是部署工具。它们用于源代码控制,而不是分发可运行的生产应用程序。