[英]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.