У меня есть это пространство именИмпорт «не может найти модуль», когда внутренний модуль имеет импорт объявлен
namespace Validation {
export function Func1() {
// code
}
export function Func2() {
// code
}
}
Что я могу импортировать в мой app.ts
:
import Validations = Validation;
Но когда я хочу, чтобы ссылаться на какие-то модули мой Validation
имен
import {Request, Response} from 'express';
var jwt = require('jsonwebtoken');
var express = require('express');
import {Config} from './../config';
namespace Validation {
export function Func1() {
// code
}
export function Func2() {
// code
}
}
Итак import Validations = Validation;
в мой app.ts
давая мне ошибку cannot find namespace Validation
.
Почему это произошло? Любые мысли, как исправить?
UPDATE 1: В случае, если я ставлю импорт после имен я получаю сообщение об ошибке Import declaration in a namespace cannot import a module
:
namespace Validation {
import {Request, Response} from 'express'; //Error: Import declaration in a namespace cannot import a module
var jwt = require('jsonwebtoken');
var express = require('express');
import {Config} from './../config'; //Error: Import declaration in a namespace cannot import a module
export function Func1() {
// code
}
export function Func2() {
// code
}
}
мой config.ts
является лишь простой класс:
export class Config {
public static get Secret():string { return 'stuff'; }
public static get Database():string { return 'mongodb://127.0.0.1:27019/test'; }
}
И 'express'
это npm package
ОБНОВЛЕНИЕ 2 Я думаю, что я просто установил конфигурацию, обернув ее i п к пространству имен:
namespace Common {
export class Config { .. }
}
Также изменен оператор импорта из этого import {Config} from './config';
к этому: import Config = Common.Config;
но до сих пор не понять, как исправить 'express'
вещь
Да, я пробовал это, но в случае импорта импортирует {Request, Response} из 'express'; '' import {Config} из './../ config'; 'Я получаю сообщение об ошибке' Импорт объявления в пространстве имен не может быть импортирован модуль – sreginogemoh
@sreginogemoh Это потому, что вы пытаетесь импортировать внешний модуль во внутреннюю систему (пространство имен). Вот почему смешивание двух является плохим подходом. –
Да, я вижу, но есть ли другие способы импортировать модуль «npm' во внутренний модуль? Что мне делать в таком случае? – sreginogemoh