2017-01-25 7 views
8

Следуя этим довольно простым инструкциям, но это, похоже, не сработает.TypeScript | Модуль не имеет экспортированного члена

https://stackoverflow.com/a/35894727/1033686

Обзор

Я хочу использовать import { Type } from "Module" вместо /// <reference path="..." />

Структура

-app\ 
    -ViewModel.ts 
    -Program.ts 

ViewModel.ts

export module Demo { 
    export class ViewModel { 
     constructor(public test: string) { 
     } 
    } 
} 

Program.ts

import { ViewModel } from "ViewModel"; 

модуль 'C:/DemoApp/приложение/ViewModel' не экспортированный элемент 'ViewModel'.

и ...

только '' и драм модулей 'система' поддерживаются рядом --outFile.

Гол

Я хочу, чтобы иметь возможность ссылаться на зависимостей, так что они компилируются в одном файле в порядке.

Пожалуйста, помогите!

Примечание: Если я добавлю "module": "system", я до сих пор получаю 1-ую из вышеупомянутых ошибок.

Примечание: Согласно 1-му решению, я не хочу потерять пространства имен!

+0

Возможный дубликат: HTTP : //stackoverflow.com/questions/30357634/how-do-i-use-namespaces-with -typescript-external-modules – artem

ответ

5

Удалите строку ниже из вашего заявления

export module Demo 

и использовать его как

export class ViewModel { 
    constructor(public test: string) { 
    } 
} 

Edit: Для имен, просто сделать что-то вроде

namespace Demo { 
    export class ViewModel { 
     constructor(public test: string) { 
     } 
    } 
} 
+0

Но тогда я теряю свои пространства имен ... – series0ne

+0

Я обновил свой ответ, посмотрим, работает ли он сейчас. Подробнее об этом читайте здесь: https://www.typescriptlang.org/docs/handbook/namespaces-and-modules.html. –

Смежные вопросы