【问题标题】:How to make npx work with my custom npm pakage?如何使 npm 与我的自定义 npm 包一起使用?
【发布时间】:2020-12-01 09:19:43
【问题描述】:

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

并获取生成的样板文件。

【问题讨论】:

  • 是否建议包含一个入口点,即使它没有任何用途(如我的情况)?

标签: javascript node.js npm package npx


【解决方案1】:

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

要使用它,请在 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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-12-16
    • 2021-10-13
    • 2017-09-04
    • 2018-04-28
    • 1970-01-01
    • 1970-01-01
    • 2023-04-07
    • 1970-01-01
    相关资源
    最近更新 更多