Typcript - загрузка модуля, который не экспортирует

Я только начинаю с машинописного текста, и я пытаюсь создать многостраничное приложение amd.

Поддерживая встроенную настройку, предоставляемую командой requirejs, у меня есть файл common.ts, который имеет все мои конфигурации requirejs, например:

// common.ts
require.config({ paths: { 'backbone': 'lib/backbone' , 'jquery': 'lib/jquery' , 'underscore': 'lib/underscore' }
});

Затем я загружаю requirejs со следующим тегом скрипта:

Как указано в рекомендациях requirejs для многостраничного приложения, я затем загружаю common.ts изнутри blah/page1.js и там, где у меня возникают проблемы.

Какой правильный способ импортировать файл commont.ts?

Мне не повезло с import requireConfig = require('common'); так как я не экспортирую ничего из common.ts.

Однако, когда я пытаюсь экспортировать что-либо, даже фиктивное значение из common.ts, оно завершает вызов require.config() в функции определения модуля, которая разбивает материал с помощью requirejs.

Я сделал /// пытаясь загрузить его, используя /// но, конечно, это не удалось

Я также попытался удалить декларацию import и просто require('common') вызов require('common') но который не скомпилирован с помощью Could not find symbol 'require'

Есть ли способ, которым я мог бы загрузить common.ts, хотя он ничего не экспортирует?

3 ответа

Вы не можете import файл, если вы не export что-либо из файла, и вы не можете export из файла и не заставлять его обертывать его в define при компиляции для amd.


Для тех, кто еще поднимает эту проблему, после ответа на @basarat (в основном, то, что я пытаюсь сделать, не представляется возможным), я смог решить свою проблему, добавив мои настройки конфигурации requirejs (например, материал, который будет иметь go in common.ts) inline в моем файле шаблона html в соответствии с инструкциями, представленными в документах requirejs.

Итак, мой html выглядит так:

Не идеально, но, похоже, сейчас это делается.


Не нужно загружать требуемый файл конфигурации в качестве внешнего модуля. Вы должны использовать основную информацию и указать ее на этот файл. Пример см. на странице http://youtube.com/watch?v=KDrWLMUY0R0

этот файл должен быть вашей основной точкой входа

licensed under cc by-sa 3.0 with attribution.