应用包.. json版本到NPM脚本



所以我有一个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

我start.sh

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

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

package.json

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

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

注意我已经尝试将脚本内容放在包内。但是NPM运行不能很好地解释shell变量。所以我建议编写一个独立的脚本。

最新更新