node.js - 创建一个像 [name]/[second_name] 这样的 NPM 包?name 只能包含 URL 友好字符。“[second_name]”在哪里添加?
问题描述
当我尝试创建一个 NPM 包时,有人可以解释如何在斜线后面添加一个包吗?
例如,如果您创建一个包,您可以使用:
npm init
然后当您填写名称时,它会不断给出错误提示,如果我在选择名称时在其中包含“/”,则名称只能包含 URL 友好字符。
如果我更改 NPM 名称,请说我成功了:
测试名称
我可以将它上传到 NPM 包存储库。
但如果我添加
测试名称/测试名称2
它会说该名称包含非法字符。您不能使用名称中带有“/”的任何内容。
那么有人可以向我解释一下,如何将“/testname2”添加到 NPM 包名称中?我已经搜索谷歌几个小时试图找到它。
我能找到的最好的在这里:https ://docs.npmjs.com/creating-node-js-modules
对于“作用域模块”,您可以添加
npm init --scope=@scope-name
通过https://docs.npmjs.com/about-scopes
但是,当我运行它时,它不会更改 package.json 文件。该文件看起来仍然与其他文件相同,但没有引用父文件的“作用域”名称。
“/”后面的内容是父目录中的文件吗?
解决方案
NPM 包只能包含字母数字字符。您看到的“嵌套”包名称(即@bugsnag/plugin-vue
)是存在于 NPM 组织中的包。所以前面提到的是一个名为的包plugin-vue
,它存在于一个名为@bugsnag
. 您不能在包名称中任意嵌套,例如foo/bar
.
推荐阅读
- mongodb - MongoDB Java 驱动程序中的映射/集合
- .htaccess - 当 URL 以斜杠 / 结尾时,htaccess ErrorDocument 404 不起作用
- javascript - 如何在Javascript中修改克隆的对象数组中的对象值
- unit-testing - 我如何用 Jasmine 和 Karma 覆盖承诺响应
- python - 将二维列表转换为字符串
- python - 在 python 中有效地对不同输入(不同大小)的函数进行基准测试
- json - TPT12109:Export Operator 不支持 JSON 列。除了 bteq 导出之外,还有其他方法可以导出涉及 json 列的结果吗?
- excel - 日期格式无法识别
- javascript - javascript函数不执行,仅在控制台中有效
- apache-flink - 使用广播状态使用虚假消息强制关闭窗口