node.js - 从 Marketplace 安装时,VSCode 扩展找不到模块
问题描述
我正在尝试编写一个require
其他节点模块的 VS 代码扩展。不幸的是,当用户从市场安装扩展时,找不到这些模块。
我所做的是将模块添加到我dependencies
的部分(这是扩展清单想要的)。当我在本地运行时,会创建一个文件夹并包含模块。通过 launch.json 在本地运行扩展是可行的。package.json
npm install
node_modules
但是,当通过VS Code Marketplace安装扩展时,触发其操作将失败,并且调试工具控制台将显示消息
Activating extension 'lalten.vscode-unify' failed: Cannot find module 'tempy'
Require stack:
- /home/laurenz/.vscode-server/extensions/lalten.vscode-unify-0.2.2/out/extension.js
- /home/laurenz/.vscode-server/bin/3c4e3df9e89829dce27b7b5c24508306b151f30d/out/vs/loader.js
- /home/laurenz/.vscode-server/bin/3c4e3df9e89829dce27b7b5c24508306b151f30d/out/bootstrap-amd.js
- /home/laurenz/.vscode-server/bin/3c4e3df9e89829dce27b7b5c24508306b151f30d/out/bootstrap-fork.js.
确实缺少 node_modules 目录:
$ ls /home/user/.vscode-server/extensions/lalten.vscode-unify-0.2.2/
icon.png images LICENSE.md out package.json README.md
(这发生在本地和 ssh-remote vscode-server 中,/home/laurenz/.vscode/extensions/lalten.vscode-unify-0.2.2/
也没有 node_modules。)
.vscodeignore似乎是无辜的,包括 node_modules/ 。vsce ls
其他人过去遇到过这个问题,但他们的解决方案是更新 vsce(我有最新的 1.87.1),使用依赖项而不是 devDependencies(我这样做),或者删除 node_modules 文件夹(没有帮助)。
我也很奇怪这个扩展在CI中工作,所以我的直觉是它必须与它的发布方式有关。
有任何想法吗?
解决方案
原来我的 package.json 在该scripts
部分中有:
"deploy": "vsce publish --yarn"
应该是什么时候
"deploy": "vsce publish"
现在node_modules
包括在内。
感谢那些让我走上正轨的有用评论。我还将考虑在未来捆绑扩展。
推荐阅读
- java - 经常更新用户数据
- r - `[.data.frame`(num.response,x == y)中的R mlr surv.ranger错误:选择了未定义的列
- javascript - 在代码和框网站中使用 onclick 时出现 ReferenceError
- batch-file - 如何在批处理编程中从属性文件中读取值
- reactjs - 如何生成 GraphQL 文档资源管理器
- django - 在 django-cron 中的特定日期和时间发送请求
- java - 运行maven build时无法执行目标
- sql - Hive:我们如何在 json 对象中屏蔽特定的键值对(包含 PII 数据),驻留在 Hive 中的列中?
- python - 有没有办法复制邮递员使用蝗虫发生的相同情况
- authentication - LoopbackJS - 用户邀请的令牌