Javascript 运行全局或本地包的npm脚本

Javascript 运行全局或本地包的npm脚本,javascript,node.js,npm,package.json,Javascript,Node.js,Npm,Package.json,您可以认为我将使用以下脚本安装nodemon: npm install --save-dev nodemon@1.0.0 { "scripts": { "nodemonscript": "nodemon yourscript.js" } } 所以它会在本地将nodemon包安装到我的项目中。(不是全局的) 我还将添加npm脚本: { "scripts": { "nodemonscript": "nodemon yourscript.js" } } 因此,

您可以认为我将使用以下脚本安装nodemon:

npm install --save-dev nodemon@1.0.0
{
  "scripts": {
    "nodemonscript": "nodemon yourscript.js"
  }
} 
所以它会在本地将nodemon包安装到我的项目中。(不是全局的)

我还将添加npm脚本:

{
  "scripts": {
    "nodemonscript": "nodemon yourscript.js"
  }
} 
因此,如果我执行“npm run nodemonscript”,它将从我的项目本地节点模块运行nodemon。(不是全局的)

因此,我将决定在全球范围内安装nodemon 2.0.0

我将运行此脚本以安装软件包:

npm install -g nodemon@2.0.0
终于有了nodemon@1.0.0从我的本地项目和nodemon@2.0.0全球范围内

所以如果我执行

"npm run nodemonscript"
再次从我的本地项目根目录,其中包含以下脚本:

npm install --save-dev nodemon@1.0.0
{
  "scripts": {
    "nodemonscript": "nodemon yourscript.js"
  }
} 
以下是我的问题:

1) 哪个版本将执行1.0.0或2.0.0

2) 我想使用始终本地的nodemon包。哪条路更安全

3) 对于npm脚本,是否所有npm包都具有相同的行为


4) 我的最后一个问题是,npx在这种情况下会有怎样的表现?

为什么需要在全球范围内安装nodemon?自从
npx
成为节点工具箱中的标准工具以来,就没有理由再全局安装任何东西了。