2016-06-06 6 views
4

В Nodejs У меня есть страница под названием variables.js, которая выглядит примерно так:angular2 (машинопись) экспортные переменные из другого файла

exports.var1= 'a'; 
exports.var2= 'b'; 

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

Тогда внутри другой страницы Я называю эту страницу с помощью:

var variables= require('./variables'); 

Теперь у меня есть доступ к переменной греховного, страницы, используя его, как это, например:

alert(variables.var1); 

Я хотел бы делать то же самое внутри углового2 (машинопись). Я пытался играть с экспортом и импортом, но я не могу заставить его работать. Как я могу сделать это внутри angular2 с помощью машинописного текста?

ответ

6

variables.ts

export var var1:string = 'a'; 
export var var2:string = 'b'; 

другие-file.ts

import {var1, var2} from './variables'; 

alert(var1); 

или

import * as vars from './variables'; 

alert(vars.var1); 

Смотрите также Barrel на https://angular.io/guide/glossary#barrel

+0

Когда я попробуйте импортировать «../variables» как vars; Я получаю сообщение об ошибке: Ошибка TS1005: ';' ожидается. Это точка с запятой, поэтому я не уверен, о чем она жалуется? – user2924127

+0

Эта строка была неправильной - обновлена. –

+0

Теперь говорят, что мой ./variables.ts не является модулем – user2924127

1

have tried to play with exports and imports but I can't get it to work. How can I do this inside of angular2 using typescript?

Просто используйте ключевое слово export и ключевое слово import. Это просто ES6 и волшебно работает с машинопись;)

Экспорт:

export var1 = 'a' 

Импорт:

import {var1} from './variables'; 

Больше

машинопись модули покрыты здесь: https://basarat.gitbooks.io/typescript/content/docs/project/modules.html

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