在运行时,有没有办法在关键字中包含空格;npm init“;?

在运行时,有没有办法在关键字中包含空格;npm init“;?,npm,npm-init,Npm,Npm Init,我知道我可以随时回头编辑package.json,但我忍不住好奇:有没有办法运行npm init并在表单的“关键字”部分输入带有空格的短语?例如,输入“平台api”将导致单词“platform”和“api”,前导和尾随引号将被转义 简短答复: 不,很遗憾,您不能通过包含空格的命令(如platform api)为关键字输入短语,并期望它成为package.json文件的结果数组中的单个元素 下面的示例显示了package.json中所需的有效结果: { ... “关键词”:[ “平台api” ],

我知道我可以随时回头编辑package.json,但我忍不住好奇:有没有办法运行
npm init
并在表单的“关键字”部分输入带有空格的短语?例如,输入“平台api”将导致单词“platform”和“api”,前导和尾随引号将被转义

简短答复: 不,很遗憾,您不能通过包含空格的命令(如
platform api
)为关键字输入短语,并期望它成为package.json文件的结果数组中的单个元素

下面的示例显示了package.json中所需的有效结果:

{
...
“关键词”:[
“平台api”
],
...
}
注意:虽然上面显示的关键字示例在
package.json
中完全有效,但无法通过使用
npm init
命令从命令行输入来实现。我也会考虑:

  • 正如您所说,回顾性地将其输入
    package.json
  • 或者,只需使用连字符,即在使用
    npm init
    命令时,通过命令行输入/type
    platform api
    。-注意:这将导致package.json中出现
    平台api
    ,而不是
    平台api

长答覆: 为什么不可能呢? 使用
npm init
命令无法通过命令行实现所需的结果,因为该工具使用的包中包含底层源代码

让我们看看名为
default input.js
的文件中代码的相关部分。如下所示:

摘自default input.js

if(!package.keywords){
exports.keywords=yes?“”:提示('keywords',函数){
如果(!s)返回未定义
如果(Array.isArray(s))s=s.join(“”)
if(typeof s!=“string”)返回s
返回s.split(/[\s,]+/)//