Javascript 如何为nodejs npm设置本地存储?

Javascript 如何为nodejs npm设置本地存储?,javascript,node.js,npm,Javascript,Node.js,Npm,根据我对node js构建过程的理解,您应该实现以下目标: 调用npm install,创建文件夹node\u modules,并将package.json中的所有依赖项放入其中 [对于UI开发]运行一些目标,将所有文件(包括node\u模块)移动到dist文件夹 运行类似于node appFile.js的程序 我是从Maven world来到node js开发的,它有类似的依赖项概念,但它并没有将所有依赖项“安装”到项目文件夹中。它首先将它们放入本地存储库,只有在调用包目标时,才会移动到pro

根据我对node js构建过程的理解,您应该实现以下目标:

  • 调用
    npm install
    ,创建文件夹
    node\u modules
    ,并将
    package.json
    中的所有依赖项放入其中
  • [对于UI开发]运行一些目标,将所有文件(包括
    node\u模块
    )移动到
    dist
    文件夹
  • 运行类似于
    node appFile.js的程序
  • 我是从Maven world来到node js开发的,它有类似的依赖项概念,但它并没有将所有依赖项“安装”到项目文件夹中。它首先将它们放入本地存储库,只有在调用
    目标时,才会移动到project
    目标
    dist
    模拟)文件夹。为什么更好:

  • 所有项目都可以在一个文件夹中共享相同的文件。例如,不必每次都将相同的依赖项复制到项目文件夹。就在您需要打包(构建)项目的时候
  • 您不需要每次都下载依赖项,只需从
    本地存储库
    文件夹复制即可
  • IDE不需要更新十几个
    *\u文件夹
    ,所以开发过程要快得多
  • 所以问题是,node js是否支持以类似的方式组织项目,以避免为每个项目创建十几个
    node\u模块?
    nodejs是否支持以类似的方式组织项目,以避免为每个项目创建十几个node_模块

    它是受支持的

    您正在搜索的答案是npm安装上的'-g'

    例如:

    npm install -g lodash
    
    将全局创建节点模块,并允许节点应用程序查找此模块,而无需将其安装在根文件夹中

    但我要警告您,如果包系统存在,那是因为版本控制问题。有时,对于不同的应用程序项目,您需要有不同的包版本,而使用-g则不行

    第二
  • [用于ui开发]运行一些目标,将所有文件(包括节点模块)移动到dist fodler
  • 它不是字面上的“移动”,您描述的这个过程通常是自动脚本,比如“gulp”甚至“grunt”,它们允许您的项目以不同的方式修改

  • 通常,它用于
    • uglify(/dev/myscript.js变为/dist/myscript.min.js)
    • 康卡特
    • 滤器
    • jshint 还有更多

  • 你能解释一下为什么投否决票吗?我对nodejs不太了解。可能是因为Java标记。在Maven world中,您有相同的概念,称为本地缓存。在CI环境中,您应该为每个作业使用本地缓存。不管是Maven还是nodejs……这个标题误导了在搜索结果中看到它的人。我不太明白问题的实质是什么,所以我将标记它。
    npm安装-g
    可能会在CI环境中导致问题,这可能是不允许的。