Ошибка повторяющегося идентификатора при ссылке на библиотеку узлов с использованием машинописного текста

Я новичок в typescript и пытаюсь запустить проект hapi.js, но получаю сообщение об ошибке при попытке require('boom') в моем коде

Duplicate identifier 'Boom'

/// <reference path="../typings/tsd.d.ts" />

var config = require('../config'),
    User = require('../models/user'),
    Boom = require('boom'),
    joi = require('joi');

мой tsd.json

{
  "version": "v4",
  "repo": "borisyankov/DefinitelyTyped",
  "ref": "master",
  "path": "typings",
  "bundle": "typings/tsd.d.ts",
  "installed": {
    "node/node.d.ts": {
      "commit": "846a250e0a6f5e6adf6347ee4ca442a9d1abd8fc"
    },
    "hapi/hapi.d.ts": {
      "commit": "846a250e0a6f5e6adf6347ee4ca442a9d1abd8fc"
    },
    "bluebird/bluebird.d.ts": {
      "commit": "846a250e0a6f5e6adf6347ee4ca442a9d1abd8fc"
    },
    "boom/boom.d.ts": {
      "commit": "846a250e0a6f5e6adf6347ee4ca442a9d1abd8fc"
    },
    "pg/pg.d.ts": {
      "commit": "846a250e0a6f5e6adf6347ee4ca442a9d1abd8fc"
    }
  }

Я добавил и бум, и хапи в свой tsd - если хапи также ссылается на бум, вызывает ли это какую-то круговую ошибку?

Как я должен ссылаться на эти библиотеки в машинописном тексте?


person MonkeyBonkey    schedule 12.05.2015    source источник
comment
Возможный дубликат stackoverflow.com/questions/28547970/   -  person curpa    schedule 13.05.2015


Ответы (1)


Если вы не поместите глобальные import или export в свой файл, то с точки зрения TypeScript ваш файл является частью глобального пространства имен, и поэтому вы получаете конфликт имен на Boom. Исправление: используйте import/require вместо var/require.

import Boom = require('boom');

Чтобы узнать больше: https://www.youtube.com/watch?v=KDrWLMUY0R0&hd=1

person basarat    schedule 12.05.2015