4

我发布了一个新包,旨在通过 cli 为节点开源项目生成一个非常小的样板。目前,它只是几个 npx 命令的组合,并且需要其他 npm 包,如 gitignore、许可证才能工作。我想使用以下命令执行 package.json 中的构建脚本。

npx get-set-node-oss build youremailaddress@xyz.com

链接到 npm 包:get-set-node-oss。我知道这个名字有点太长了。

{
  "name": "get-set-node-oss",
  "version": "1.0.1",
  "description": "One command setup for your Node OSS project",
  "scripts": {
    "build": "npx license mit > LICENSE && npx gitignore node && npx covgen"
  },
  "author": "Harshit Juneja",
  "license": "MIT",
  "repository": {
    "type": "git",
    "url": "git+https://github.com/harshitjuneja/get-set-node-oss.git"
  },
  "keywords": [
    "node",
    "boilerplate","gitignore","MIT","OSS"
  ],
  "bugs": {
    "url": "https://github.com/harshitjuneja/get-set-node-oss/issues"
  },
  "homepage": "https://github.com/harshitjuneja/get-set-node-oss#readme"
}

我希望用户创建一个新文件夹并 cd 进入该文件夹并执行

npx get-set-node-oss build emailstring

并获取生成的样板文件。

4

1 回答 1

2

要使 npx 工作,您需要指定get-set-node-oss命令的含义。幸运的是,这可以通过使用binpackage.json 文件中的字段来完成。来自 NPM 文档的更多信息供您参考

要使用它,请在 package.json 中提供一个 bin 字段,它是命令名称到本地文件名的映射。安装时,npm 会将该文件符号链接到 prefix/bin 用于全局安装,或 ./node_modules/.bin/ 用于本地安装。

下面是一个例子。

"bin": {   
    "get-set-node-oss": //script you like to run
},

希望它对你有帮助。我已经将 bin 理解为 package.json 中的脚本。我们可以在哪里做npm run foonpx foo两者都产生相同的结果。如果你想要一个例子,你可以去https://github.com/vipulgupta2048/balenaclone

于 2020-11-30T22:25:31.133 回答