Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/31.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/elixir/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在angular2/浏览器上使用mongoose_Angular_Mongoose_Typescript Typings - Fatal编程技术网

如何在angular2/浏览器上使用mongoose

如何在angular2/浏览器上使用mongoose,angular,mongoose,typescript-typings,Angular,Mongoose,Typescript Typings,我是新手,想寻求你的帮助 因为我在服务器端使用Mongoose,并且有很多模式,所以我想在表单输入中重用Angular2浏览器端的模式。由于猫鼬现在是同构的,我认为它应该是可行的。如果可能,我希望在客户端使用Mongoose/Angular2的模式、文档和验证。我不会从浏览器连接到数据库 问题1:我如何使用broswer侧的猫鼬 我浏览了一下,认为这种方法可能不正确 npm安装mongoose--保存 打字安装——全局——保存dt~mongoose(也包括mpromise、mongoose pr

我是新手,想寻求你的帮助

因为我在服务器端使用Mongoose,并且有很多模式,所以我想在表单输入中重用Angular2浏览器端的模式。由于猫鼬现在是同构的,我认为它应该是可行的。如果可能,我希望在客户端使用Mongoose/Angular2的模式、文档和验证。我不会从浏览器连接到数据库

问题1:我如何使用broswer侧的猫鼬

我浏览了一下,认为这种方法可能不正确

  • npm安装mongoose--保存
  • 打字安装——全局——保存dt~mongoose(也包括mpromise、mongoose promise、mongodb、node)
  • 在app.module.ts上,从“mongoose”导入*作为mongoose
  • 将那些..\typings\globals*复制到..\node_模块(我不确定是否需要此步骤,但请尝试一下)
  • 当我做“ng s”时,我得到了这些错误

    问题2:如何解决以下错误?我还尝试了npm安装--保存事件,npm安装--保存流并键入它们

    [default]D:\MEAN\projects\fhir\fhirapp\node\u modules\mongodb\index.D.ts中出错:4:29 找不到模块“事件”。

    [default]D:\MEAN\projects\fhir\fhirapp\node\u modules\mongodb\index.D.ts中出现错误:102:18 找不到名称“缓冲区”

    [default]D:\MEAN\projects\fhir\fhirapp\node\u modules\mongodb\index.D.ts中出错:1127:44 找不到命名空间“NodeJS”

    [default]D:\MEAN\projects\fhir\fhirapp\node\u modules\mongoose\index.D.ts中出错:6:26 找不到模块“流”

    [default]D:\MEAN\projects\fhir\fhirapp\node\u modules\mongoose\index.D.ts中出错:13:29 找不到名称“全局”

    My typings.json

    {
      "globalDependencies": {
        "mongodb": "registry:dt/mongodb#2.1.0+20160602142941",
        "mongoose": "registry:dt/mongoose#4.5.9+20160922172925",
        "mongoose-promise": "registry:dt/mongoose-promise#4.5.4+20160822161941",
        "mpromise": "registry:dt/mpromise#0.5.4+20160316155526",
        "node": "registry:dt/node#6.0.0+20160923124626"
      }
    }
    
    非常感谢你的帮助。
    提前感谢。

    安装了TypeScript 2.0.3(如果您正在使用Angular 2.0+,您应该使用它),我使用了以下
    包.json

    npm install mongoose core-js --save
    npm install @types/mongoose @types/core-js @types/node typescript --save-dev
    
    {
      "name": "stackoverflow_mongoose",
      "version": "1.0.0",
      "description": "test",
      "main": "index.js",
      "license": "ISC",
      "dependencies": {
        "core-js": "^2.4.1",
        "mongoose": "^4.6.1"
      },
      "devDependencies": {
        "@types/core-js": "^0.9.34",
        "@types/mongoose": "^4.5.36",
        "@types/node": "^6.0.41",
        "typescript": "^2.0.3"
      }
    }
    
    我创建了一个
    tsconfig.json
    文件:

    {
        "compilerOptions": {
            "module": "commonjs",
            "target": "es5",
            "noImplicitAny": false,
            "sourceMap": false
        }, 
        "exclude": [
            "node_modules"
        ]
    }
    
    还有一个示例文件,
    index.ts

    import * as mongoose from "mongoose";
    
    mongoose.connect("sample");
    

    没有编译错误。你不需要再使用
    打字了。相反,您可以使用

    您不需要将
    打字
    文件夹中的任何内容复制到
    节点_模块
    。Hi WiredPrairie,thx用于确认。我正在考虑将相应的index.d.ts复制到每个节点\u modules/module\u name.Hi wiredparie,非常感谢!!!在添加了建议的模块和@type之后,问题得到了解决。但是,我没有npm@type/core js,这导致了很多错误,比如[default]D:\…\node\u modules\typescript\lib\lib.es2015.core.D.ts:17:13重复标识符“PropertyKey”中的错误。[default]D:\..\node\u modules\@types\core js\index.D.ts:21:13重复标识符“PropertyKey”中出现错误。不知道为什么要删除您的问题,如果您给我机会,我会查找其他内容。我知道问题是因为unicode的排序不同。试试看这篇文章。我只给第一份,你知道我只能给一份。但第二条有一些有趣的评论也可能对你有所帮助。即使标记为重复,你也可以通过编辑你的问题并解释为什么不同来要求重新打开。看了你的评论后,我会改变我的投票。再次抱歉给您带来不便。