Typescript 应用程序中的“mpromise(猫鼬的默认承诺库)已弃用”
Posted
技术标签:
【中文标题】Typescript 应用程序中的“mpromise(猫鼬的默认承诺库)已弃用”【英文标题】:"mpromise (mongoose's default promise library) is deprecated" in Typescript Application 【发布时间】:2017-02-28 14:56:49 【问题描述】:如何从 Typescript 应用程序中解决“不推荐使用 mpromise(mongoose 的默认承诺库)”。
我收到以下错误:
赋值表达式的左侧不能是常量或只读属性。
我正在使用MEAN stack with Angular 2 并希望猫鼬使用 bluebird promise 库。
当我尝试在 Stack Overflow 和 Mongo 上按照这些说明操作时遇到错误
说实话,我不确定我的问题是否只是缺乏对 Typescript 的了解,或者我做错了什么。
"use strict";
import * as mongoose from 'mongoose';
var dbConst = require('../constants/db.json');
var bluebird = require("bluebird");
export class DBConfig
static init():void
const URL = (process.env.NODE_ENV === 'production') ? process.env.MONGOHQ_URL
: dbConst.localhost;
mongoose.Promise = bluebird; // <-- THIS IS WHERE ERROR OCCURS
mongoose.connect(URL);
mongoose.connection.on('error', console.error.bind(console, 'An error ocurred with the DB connection: '));
;
【问题讨论】:
【参考方案1】:我相信以下应该有效:
import * as mongoose from "mongoose";
import * as bluebird from "bluebird";
//either this
(<any>mongoose).Promise = bluebird;
//OR pass it in as an option
const connection = mongoose.createConnection("mongodb://localhost:27017",
promiseLibrary: bluebird
);
【讨论】:
以上是关于Typescript 应用程序中的“mpromise(猫鼬的默认承诺库)已弃用”的主要内容,如果未能解决你的问题,请参考以下文章
Typescript 入门手册之函数类型在 TypeScript 中的应用
Typescript 入门手册之函数类型在 TypeScript 中的应用
Typescript入门手册之基本类型在TypeScript中的应用
Typescript入门手册之基本类型在TypeScript中的应用