首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【 Node.js 进阶】你应该知道的 NPM 知识都在这!

为什么写这篇文章 很多 Node.js 开发者,都知道有 package.json 这个文件,也多少都了解一些 npm 知识,但是可能没有系统的学习过,这部分的知识对于开发一个 cli 工具,发布自己的...说到脚本传入参数,需要再次提到前面说的 pacakge.json 中的 bin 字段,bin 字段指定了各个内部命令对应的可执行文件的位置。...'] 再列举几个传参可能有的方式 npm run serve --params // 参数params将转化成process.env.npm_config_params = true npm run...params参数 npm run serve -- --params // 将--params参数添加到process.env.argv数组中 npm run serve params // 将params...在本地开发的模块包的时候,可以使用 npm link 调试,将模块链接到对应的运行项目中去,方便地对模块进行调试和测试。

1.5K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    手把手教你编写Node.js模块

    在GitHub上建立仓库,然后通过git clone命令将代码克隆到本地。 $ git clone xxx$ npm init -y package.json文件为模块的描述文件,非常重要。...根据具体的业务特点,将前端开发流程、技术、工具、经验等规范化和标准化,可以最大限度地提高前端开发工程师的开发效率,降低技术选型难度和前后端联合调试的沟通成本。...bin字段是用来配置CLI命令名称和具体执行逻辑的脚本文件,比如上面的hello就是模块需要提供的CLI命令名称,它对应的Node.js脚本文件是bin/cli.js。...主要办法是解析process.argv文件,它会返回由命令行脚本的各个参数组成的数组,具体代码如下。 #!...npm start:将当前npm发布到npmjs.org上。 npm test:测试代码,应避免重复输入。 无论从语义还是便利性上,重写常见命令都是不错的选择。

    1.2K20

    『手撕Vue-CLI』添加帮助和版本号

    在 Node.js 中发现可以通过 process.argv 来获取到用户在命令行中输入的参数,这个参数是一个数组,第一个是 Node.js 的路径,第二个是当前执行的文件路径。...然后呢,我们要调用 program.version() 方法,将版本号传递给这个方法就可以了。...package.json 是我们项目的配置文件,里面有一个 version 字段,我们可以将这个字段抽取出来,放到一个单独的文件中,然后在 bin/index.js 中引入这个文件,这样就可以实现版本号的统一管理了...在 bin 目录下新建一个 const.js 文件,然后将 package.json 中的 version 字段抽取出来,放到 const.js 文件中,代码如下:const { version } =.../package.json');module.exports = { version,};然后在 bin/index.js 中引入这个文件,代码如下:const { version } = require

    17821

    如何使用zx编写shell脚本

    然后,我们将学习如何通过构建一个命令行工具来使用zx的功能,帮助我们为新的Node.js项目引导配置。...一个解析命令行参数的库。然后它们在argv对象下被暴露出来。 fetch[7]。Fetch API的Node.js实现。我们可以用它来进行HTTP请求。 fs-extra[8]。.../usr/bin/env node 然后,我们添加一些代码,使用zx来运行命令。 在下面的代码中,我们运行命令执行ls程序。ls程序将列出当前工作目录(脚本所在的目录)中的文件。...我们现在要给脚本添加一个 --directory命令行参数。 zx内置了minimist[11]包,它能够解析传递给脚本的任何命令行参数。...Node.js生态系统正在逐步采用ES模块,这在客户端JavaScript中是很常见的。当事情处于过渡阶段时,我们需要决定我们的Node.js项目默认使用CJS模块还是ESM模块。

    4.1K20

    Node.js命令介绍

    在Node.js中,我们可以通过命令行工具来执行各种操作,下面我将介绍一些常用的Node.js命令。# 一:node命令node是Node.js的主要命令,用于运行JavaScript文件。...npm init:初始化一个新的Node.js项目,并创建一个package.json文件。...# 三:npm命令npx是npm 5.2.0以后版本提供的一个命令,它允许你直接从命令行运行在node_modules/.bin目录下的命令,而无需全局安装这些命令。...# 七 :调试命令Node.js提供了内置的调试器,可以使用命令行参数进行调试。例如,node --inspect-brk script.js会启动脚本并等待调试器连接。...使用内置调试器启动Node.js应用并等待调试器连接:```$ node --inspect-brk app.js```# 八:访问全局变量和函数示例在Node.js命令行中访问__filename和_

    10710

    Node.js脚手架开发完全指南「TypeScript版」

    但是每次拷贝模版再去修改,总是麻烦的,不如来开发一个脚手架,用命令行生成koa2项目。 本文将事无巨细地介绍如何用node.js+typescript开发脚手架。...npm init 然后补充必要的信息,其中main是入口文件,bin用于引入一个全局的命令,映射到lib/index.js,有了bin字段后,我们就可以直接运行koa-generator-cli命令,而不需要...npm link-本地调试 记得我们前面在package.json中有个bin配置,那我们直接跑koa-generator-cli这个命令试试。...为了方便调试,我们在package.json中再加两个配置,用于调试和打包。...commander-处理命令 我们用到commander来处理命令。commander是一个用于简化node.js命令行开发的库。 安装commander。

    2.1K10

    node.js如何制作命令行工具(一)

    其中process为node进程中的全局变量,process.argv为一数组,数组内存储着命令行的各个部分,argv[0]为node的安装路径,argv[1]为主模块文件路劲,剩下为子命令或参数,如下.../bin/web.js a b c # process.argv的值为[ '/usr/local/bin/node', '/PATH/web.js', 'a', 'b', 'c' ] 3.命令配置 在package.json.../bin/web.js" },   bin字段的作用:当安装npm包时,npm将添加一条命令/usr/local/bin/web,web命令软连接到web.js文件。...调试命令行 (1)采用install方法 进入npm包目录下,执行全局install,根据package.json中bin的配置,为全局命令创建软连。 # sudo npm install ....本文是通过原生node.js来开发命令工具,而vue-cli是采用commander.js来简化命令工具开发,关于commander.js的使用方法,将在下一篇文章中介绍。

    1.8K90

    Node.js CLI 工具最佳实践

    许多 CLI 提供默认的命令行参数,而无需用户进一步交互。不强迫用户提供一些非必要的参数。...当命令行参数和环境变量都配置相同的设置时,应该给环境变量一个优先级来覆盖该设置。 4 易用性 本节将介绍,如何在用户缺乏开发者设计工具所需环境的情况下,更加容易地使用 Node.js CLI。...❌ 错误: 没有 Node.js 环境的用户将没有 npm 或 npx ,因此将无法运行您的 CLI 工具。...我们可以将 #!/usr/bin/env node 作为最佳实践,但是这仍然假设 Node.js runtime 是被 bin/node 引用,而不是 bin/nodejs 或其他。...因为只是从用户那里收集反馈,并让他们查明错误原因将特别困难。 ➡️ 细节: 使用环境变量或命令行参数来设置调试模式并打开详细输出信息。

    3.3K10

    npm 全面介绍

    如果希望两个命令同时平行执行,它们中间可以用 & 连接。 写在 scripts 属性中的命令,也可以在 node_modules/.bin 目录中直接写成 bash 脚本。...npm bin npm bin 命令显示相对于当前目录的,Node 模块的可执行脚本所在的目录(即 .bin 目录)。 # 项目根目录下执行 $ npm bin ....除了将全局的包链接到本地以外,使用 npm link 命令还可以将本地的包链接到全局。使用方法是在包目录(package.json 所在目录)中运行 npm link 命令。...package.json 必须在包的顶层目录下; 。二进制文件应该在 bin 目录下; 。JavaScript 代码应该在 lib 目录下; 。文档应该在 doc 目录下; 。...Node.js 对包的要求并没有这么严格,只要顶层目录下有 package.json,并符合一些规范即可。当然为了提高兼容性,我们还是建议你在制作包的时候,严格遵守 CommonJS 规范。

    1.2K30
    领券