问题标签 [yargs]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
353 浏览

node.js - React 应用程序,找不到我手动安装的库

我正在构建一个 React 应用程序。我通过 npm 手动安装了 yargs 和 argsert。出于某种原因,当我启动开发服务器时,出现以下错误和堆栈跟踪。有问题的两个模块被明确列为 argsert 和 yargs。我不确定如何进行。任何反馈将不胜感激。

webpack-dev-server --mode 开发

包.json

0 投票
1 回答
24 浏览

typescript - 调用链式构建器函数和在打字稿中包含构建器的变量上调用它之间的区别

当使用 yargs 提供的构建器和如下示例的链式调用时,一切正常。

但是,当尝试通过拆分代码并使用 foo 的值来实现相同的代码时,它似乎会中断:

来自 Java 背景,我假设第一行返回一个构建器,并且我是否链接函数调用或在包含第一行输出的变量上调用它都没有关系。这似乎不是这里的情况。我错过了什么?这与库有关(在这种情况下是yargs)还是这种模式在打字稿中的这种一般行为?

0 投票
1 回答
254 浏览

node.js - 为什么终端不显示其他 yargs 命令?

当我运行命令node app.js --help时,终端只显示添加命令,同时我已经定义了三个命令并且它们都有效。当我使用parse()方法而不是argv为什么我打印了 2 次“删除笔记”时?

0 投票
1 回答
1776 浏览

javascript - 带有 yargs 的选项的可选参数

我正在尝试使用 yargs 构建命令行界面,其中一个选项采用(可选!)参数:

换句话说,使用program --keyword --keyword=this --keyword=that被接受。

我如何告诉 yargs 接受--keyword有或没有选项的选项?

0 投票
1 回答
510 浏览

npm - npx create-react-app 未显示 webpack-dev-server 3.11.0 的最新碰撞

这是我的第一个 SO 问题,因此对冗长的代码表示歉意。我正在尝试使用create-react-app. 我运行了以下命令:

因为我想使用 npm 而不是 yarn,并且一切正常,所以创建了项目样板。但是 react-scripts 的依赖项之一存在安全漏洞:

我试图运行npm audit fix,但没有奏效。我去了 webpack-dev-server github 和 create-react-app github,看起来他们已经在解决这个安全问题了,到两天前,这个问题已经修复并合并到 create-react-应用大师。

npm i react-scripts@latest在我的项目中运行时:

在尝试创建一个新create-react-app项目之前,我一直在等待这个问题,并在等待他们是否会解决它。但是今天我再次尝试运行npx create-react-app jam-box --use-npm时,安全漏洞仍然存在。我什至尝试运行npm install react-scripts@latest,但漏洞仍然存在。当我查看我的 package-lock.json 时,它说 react-scripts 仍在使用以前版本的 webpack-dev-server 而不是最新的 3.11.0 版本。我不知道为什么当我运行npx create-react-app它并没有反映 create-react-app 的最新主分支。我只想将 create-react-app 运行到最新版本,任何帮助将不胜感激。

0 投票
1 回答
396 浏览

arrays - 为什么我在使用 nodeJS 和 yargs 时不断收到错误消息,提示我 JSON 输入意外结束

首先,我是 node.js 和 JavaScript 的菜鸟。

我正在尝试编写一个程序,使用 yargs 将用户的笔记存储在本地系统中。

我在处理程序中的直通车如下 -

  1. 首先创建一个包含笔记标题及其内容的对象。

  2. 我假设该文件总是在用户的本地系统中创建,并且要么是空的,要么有一些注释。

  3. 获取文件的内容,如果它为空,则创建一个包含所有笔记数组的对象并将笔记推送给它。然后我在进行必要的 JSON 操作后将其写入文件。

  4. 如果文件中已经存在一个对象,我只需将新注释推送给它。

这是我的代码

这是我得到的错误信息

我已经尝试了很多方法,但无法摆脱那个错误。有人可以帮助我。任何其他有助于我更好地理解这个概念的有用信息/资源将不胜感激。

有关在节点中使用 JSON(如 JSON.stringify、JSON.parse )的任何解释/资源都会非常有帮助。

提前致谢

0 投票
0 回答
292 浏览

angular - How to resolve white-source security issue for npm libraries

White-source has reported high security issue with following libraries for yargs-parser for my repo:

Affected versions of yargs-parser are vulnerable to prototype pollution. Arguments are not properly sanitized, allowing an attacker to modify the prototype of Object, causing the addition or modification of an existing property that will exist on all objects. Parsing the argument --foo.proto.bar baz' adds a bar property with value baz to all objects. This is only exploitable if attackers have control over the arguments being passed to yargs-parser.

Whitesource has suggested this fix: yargs-parser/v/18.1.2 , yargs-parser/v/15.0.1

Need suggestion to resolve this issue. I mean which yargs-parser I should use and how?

0 投票
1 回答
299 浏览

node.js - TypeError: notes.addNote 不是函数

我正在尝试调试此代码太久。我已经在其他地方读到过这种类型的错误,但似乎没有任何帮助。

我试图更改 thr 函数的名称,并且在 module.exprots 中也没有帮助。

感谢未来的赛弗!

应用程序.js:

notes.js:

我得到的错误:

TypeError: notes.addNote is not a function at Object.handler (C:\Users\User\Desktop\Web Development\node.js\Hello\notes-app\app.js:22:15) 在 Object.runCommand (C :\Users\User\Desktop\Web Development\node.js\Hello\notes-app\node_modules\yargs\lib\command.js:214:40)
在 Object.parseArgs [as _parseArgs] (C:\Users\User\Desktop\Web Development\node.js\Hello\notes-app\node_modules\yargs\yargs.js:1154:4 1) 在 Object.parse (C :\Users\User\Desktop\Web Development\node.js\Hello\notes-app\node_modules\yargs\yargs.js:599:25)在对象。(C:\Users\User\Desktop\Web Development\node.js\Hello\notes-app\app.js:60:7) 在 Module._compile (internal/modules/cjs/loader.js:1156:30)在 Object.Module._extensions..js (internal/modules/cjs/loader.js:1176:10) 在 Module.load (internal/modules/cjs/loader.js:1000:32) 在 Function.Module._load ( internal/modules/cjs/loader.js:899:14) 在 Function.executeUserEntryPoint [as runMain] (internal/modules/run_main.js:74:12)

0 投票
1 回答
87 浏览

reactjs - 我无法创建 React 项目

我开始学习 React.js,当我输入命令行时npx create-react-app {name of project},它开始下载依赖项,但最后我得到一个yargs-parser低级漏洞的错误,我尝试更新包,删除项目并再次创建一个,重新安装 node.js 仍然无法正常工作,除了我在所有教程中看到,在创建 react 项目后的初始设置中,我应该拥有比我拥有的文件夹更多node_modules的文件夹,因为我只有文件夹:和文件: package.json, package-lock.json,没有public文件夹,src我只有我之前提到的 .json 文件,如果有人能帮助解决这个问题,我将不胜感激:/

npx create-react-app {project name}输出:

found 1 low severity vulnerability run "npm audit fix" to fix them, or ""npm audit for details

npm audit输出:

低原型污染

包 yargs-parser

修补在 >=13.1.2 <14.0.0 || >=15.0.1 <16.0.0 || >=18.1.2

react-scripts 的依赖

路径 react-scripts > webpack-dev-server > yargs > yargs-parse

更多信息 https://npmjs.com/advisories/1500

0 投票
2 回答
703 浏览

javascript - 使用 Yargs 进行 Fs 操作

我必须使用 Yargs 执行一些操作。例如- 1- 使用 fs 模块写入文件,并且每次写入操作都需要创建一个新文件,2- 您必须将用户的 i/p 作为文件名并继续保存文件名一个数组(数组部分未完成),在一个单独的文本文件中 3-下次当用户输入相同的 fileName 时,如果它存在再次要求提供新的 fileName ,然后与第 1 点相同。我面临第 2 点的问题,如何在文本文件中写入数组,以及如果用户继续提供现有文件名,如何再次调用“请提供文件名”。

到目前为止,我已经这样做了-

所以,当用户像 node index.js write 一样执行它时,它会询问文件名