首页 > 解决方案 > 如何处理 TypeError:无法读取 javascript 中未定义的属性“复数”

问题描述

当我在打字稿中开发应用程序时,我将它们编译为docker

以下为生typescript

import { DefaultNamingStrategy, NamingStrategyInterface } from 'typeorm';
import { snakeCase } from 'typeorm/util/StringUtils';
import pluralize from 'pluralize';

export class CustomNamingStrategy extends DefaultNamingStrategy
  implements NamingStrategyInterface {
  tableName(targetName: string, userSpecifiedName: string): string {
    return userSpecifiedName
      ? userSpecifiedName
      : pluralize.plural(snakeCase(targetName));
  }

以下为编译javascript

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.CustomNamingStrategy = void 0;
const typeorm_1 = require("typeorm");
const StringUtils_1 = require("typeorm/util/StringUtils");
const pluralize_1 = require("pluralize");
class CustomNamingStrategy extends typeorm_1.DefaultNamingStrategy {
    tableName(targetName, userSpecifiedName) {
        return userSpecifiedName
            ? userSpecifiedName
            : pluralize_1.default.plural(StringUtils_1.snakeCase(targetName));
    }

但是当我试图npm run start跟随错误发生时。

TypeError: Cannot read property 'plural' of undefined
    at CustomNamingStrategy.tableName (/src/dist/config/CustomNamingStrategy.js:11:35)

我安装了@types/pluralize以下pluralize两个package.json

"dependencies": {
    "@nestjs/common": "^7.0.0",
    "@nestjs/config": "^0.5.0",
    "@nestjs/core": "^7.0.0",
    "@nestjs/jwt": "^7.1.0",
    "@nestjs/passport": "^7.1.0",
    "@nestjs/platform-express": "^7.0.0",
    "@nestjs/typeorm": "^7.1.0",
    "@types/bcrypt": "^3.0.0",
    "@types/cookie-parser": "^1.4.2",
    "@types/joi": "^14.3.4",
    "@types/pluralize": "0.0.29",
    "bcrypt": "^5.0.0",
    "class-transformer": "^0.3.1",
    "class-validator": "^0.12.2",
    "cookie-parser": "^1.4.5",
    "joi": "^17.2.0",
    "mysql": "^2.18.1",
    "passport": "^0.4.1",
    "passport-jwt": "^4.0.0",
    "pluralize": "^8.0.0",
    "reflect-metadata": "^0.1.13",
    "rimraf": "^3.0.2",
    "rxjs": "^6.5.4",
    "typeorm": "^0.2.25"

这个错误的原因可能是什么?

我怎样才能检测到它们?

如果有人有意见,请告诉我。

谢谢

标签: javascripttypescriptpackage.json

解决方案


推荐阅读