首页 > 解决方案 > 我如何知道 npm 包中的脚本选项?

问题描述

例如,我通过 npm init && npm install tailwindcss 通过 npm 安装了 tailwind CSS。之后,我在 package.json 中创建了一个脚本,例如"build-css": "tailwindcss build src/styles.css -o public/styles.css"(我只是从stuckoverflow 复制粘贴它)。现在关注-o,开发人员如何知道存在可用于顺风的 -o 选项。我检查了 node-module/tailwindcss/script/build.js 但目前没有我理解的东西(我的意思是,我找到了 0 个线索)。请说明一下。我们是否有一些 npm 包的创建者遵循的标准化或不成文的规则?

标签: npmcommand-line-argumentstailwind-css

解决方案


scriptspackage.json定义npm run在 npm 上下文中运行的命令中的字段。这允许您使用不同 npm 包提供的命令行界面,而无需全局安装它们。其中许多 CLI 还公开了一个--help标志或help命令。

要从未全局安装的 npm 包运行 CLI,您可能需要使用npx. 在您的情况下,您可以运行:

npx tailwindcss

它告诉您有一个help命令可以为您提供更多信息。

$ npx tailwindcss                                                                                                                                            
  
   tailwindcss 2.1.2
  
   Usage:
      tailwind <command> [options]
  
   Commands:
      help [command]            More information about the command.
      init [file]               Creates Tailwind config file. Default: tailwind.config.js
      build <file> [options]    Compiles Tailwind CSS file.

如果您喜欢阅读node_modules文件夹中的源代码,您还可以找到有关这些命令和运行代码的更多信息。要查找 CLI 的定义位置,您可以检查node_modules/tailwindcss/package.json,它定义了一个bin键。在这种情况下,它表明该tailwindcss命令来自lib/cli.js. 在转换代码时,您可以四处寻找并查找lib/cli/commands/build.js,其中包含build命令的选项。

const options = [{
  usage: '-o, --output <file>',
  description: 'Output file.'
}, {
  usage: '-c, --config <file>',
  description: 'Tailwind config file.'
}, {
  usage: '--no-autoprefixer',
  description: "Don't add vendor prefixes using autoprefixer."
}];

如果包是开源的,你也许可以在网上找到原始的、未转换的源代码。在 Tailwind 的案例中,他们有一个Github 存储库,您可以在其中查看构建命令的原始源代码


推荐阅读