如何使npx与我的自定义npm包装一起使用?

时间:2019-01-09 09:02:10

标签: javascript node.js npm package npx

我已经发布了一个新程序包,旨在通过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

并获得生成的样板文件。

1 个答案:

答案 0 :(得分:0)

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

要使用此功能,请在package.json中提供一个bin字段,这是命令名到本地文件名的映射。在安装时,npm会将文件符号链接到前缀/ 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