繁体   English   中英

无法在使用 Express 和 Azure Cosmos DB 的 Angular 应用程序中配置 MongoDB

[英]Unable to configure MongoDB in Angular application that is using Express and Azure Cosmos DB

I am facing strange issue in configuring and using Azure CosmosDB MongoDB Api in angular application, the configuration and code is referred from https://docs.microsoft.com/en-us/azure/cosmos-db/tutorial-develop-mongodb- nodejs-part2https://johnpapa.net/angular-cosmosdb-1/ ,尽管当我尝试配置和安装 Mongoose 节点模块时,我能够使用 express 配置和运行应用程序出现一系列错误:

1)找不到模块'mongodb-extjson' 2)找不到模块'bson-ext' 3)ENOENT:没有这样的文件或目录,访问'XXX\node_modules\bson-ext\lib\package.json

我尝试重新安装软件包但没有成功。

我正在使用 Angular 版本 10 和 mongoose 版本 5.11.14 我在尝试从 vs 代码运行它并尝试在端口 3000 上启动 server/index.js 时在编译时出错。

非常感谢您的帮助。

您得到 1 和 2 是因为 MongoDB 驱动程序在初始化期间检查可选要求。 您可以在 VS Code 中按 F5 跳过它们。 或者像这样安装它们:

node install mongodb-extjson
node install bson-ext

3 号也是由于启动过程中的异常。 我不知道为什么会丢失它,但如果你想跳过调试器中的初始抛出,你可以先不调试就开始,然后“附加”到它。 像这样:

node --inspect --nolazy server/index.js

要使用 VSCode 附加到节点,请确保在 your.vscode\launch.json 中有类似的内容:

{
    "name": "Docker: Attach to Node",
    "type": "node",
    "request": "attach",
    "port": 9229,
    "address": "localhost",
    "localRoot": "${workspaceFolder}",
    "remoteRoot": "/",
    "protocol": "inspector"
 }

许多节点模块在启动时通过抛出和捕获来测试事物。 例如:

var hasStacks = false;
try {
    throw new Error();
} catch (e) {
    hasStacks = !!e.stack;
}

...这会导致 VS Code 调试器中断。 所以你可能想要附加(即在几秒钟后按运行“Docker:附加到节点”。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM