2017-09-06 159 views
1

据我所知节点JS建设过程中,你应该调用以下目标:如何为nodejs npm设置本地reporsitory?

  1. 呼叫npm install其创建的文件夹node_modules,并把从package.json所有依赖进去。
  2. [UI开发]运行一些目标,其中将所有文件(包括node_modules)到dist文件夹。
  3. 运行像node appFile.js

我来到从Maven的世界,也有类似的依赖性概念节点JS的发展,但它并没有“安装”所有的依赖到项目文件夹。它把它们放到本地存储库中第一和移动,只有当你调用package目标项目targetdist模拟)文件夹中。为什么更好:

  1. 所有项目可以在一个文件夹中共享相同的文件。例如。每次都不需要将相同的依赖项复制到项目文件夹中。就在您需要打包(建设)项目
  2. 你不需要下载的依赖,每次从local repository文件夹直接复制。
  3. IDE并不需要更新十几*_folders这样的发展过程要快得多。

所以问题是 - 节点js是否支持以类似的方式组织项目,以避免为每个项目创建一打node_modules

+0

请问您为什么downvote评论?我对nodejs了解不多。 – Cherry

+0

可能是因为Java标签。 –

+0

在Maven世界中,您有相同的概念,称为本地缓存。在CI环境中,您应该对每个作业执行相同的本地缓存。无论Maven还是nodejs ... – khmarbaise

回答

1

首先

不支持的NodeJS到orginize项目类似的方式,以避免打node_modules创造了每一个项目?

它支撑。

您正在寻找的答案是NPM的“-g”安装

例子:

npm install -g lodash 

将在全球创建节点模块,让你的节点应用找到该模块不会在您的根文件夹

安装它,但我要警告你,如果包装系统存在,它是因为版本的问题。有时型动物项目的应用程序,你需要有不同的封装版本,并与-g你不能

  • [UI开发]运行一些目标至极将所有文件(包括node_modules)移到dist fodler。
  • 它是不是真的“动”,这个过程中,你所描述通常是自动的,如“大口”甚至“咕噜”,这让您的项目以不同的方式进行修改脚本。

    1. 通常,它是用于
      • 丑化(/dev/myscript.js成为/dist/myscript.min.js),
      • concat,则
      • 滤波器
      • jshint 等等。
    +0

    'npm install -g'可能会在CI环境中导致问题原因,这可能不被允许。 – khmarbaise