繁体   English   中英

将 package.json 版本应用到 NPM 脚本

[英]Apply package.json version to NPM Script

所以我有一个 npm 脚本,我可以在其中启动服务器并需要构建到我的项目中的目录。 该目录有一个子目录,它与我在 package.json 中定义的应用程序版本相匹配。

{
  name: “my-app”,
  version: “0.3.2”
  …
  scripts: {
    “server”: “npm-watch build:local & serve -C -l 5000 build/*”
  }
}

因此,我需要将星号替换为我对该版本的值而不是星号。

我认为编写另一个起始文件并读取 package.json 中的版本会更容易

我通过编写 start.sh 得出了另一个解决方案。

folder structure
- my-project
   |- build
     |- 0.0.1
     |- 0.1.0
     |- 0.1.1
       |- index.js
   |-start.sh
   |-package.json

我的开始.sh

#!/bin/bash

export p="./build/$(ls ./build | sort -r | head -n 1)"
node $p

我的解决方法很简单,列出./build下的所有目录,然后倒序排列。 现在 0.1.1 是最大的版本,它会首先列出。 head -n 1表示获取当前最大版本号的第一行。
然后使用该目录作为节点执行路径。

在 package.json 里面

"scripts": {
  "test": "bash start.sh"
}

我认为更改为您自己的命令的方式类似。

注意我试图将脚本内容放在 package.json 中,但是 npm run 不能很好地解释 shell 变量。 所以我建议写一个独立的脚本。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM