@mix-9

Как открыть модуль typescript с экспортом в global scope?

Доброго времени суток. Typescript + webpack при компиляции простого файл с классом этот класс доступен для обращения глобавльно. При добавлении экспорта / импорта файл исполняется, но глобально класс недоступен. Как исправить?

Предполагаю, что можно как-то по-отдельности скомпилировать ts файлы без импорта, после собрать в один, но как это настроить, слов import/export не использовал, собралось все равно как с ними?

const glob = require("glob");

module.exports = {
  entry: glob.sync('./src/*.js'),
  output: {
    filename: 'module.js',
    //path: path.resolve(__dirname, 'dist'),
  },
  optimization: {
      minimize: false
  }
};
  • Вопрос задан
  • 151 просмотр
Пригласить эксперта
Ответы на вопрос 2
Robur
@Robur
Знаю больше чем это необходимо
Ничего не понял, но
- "экспортировать" что-то в глобальную область видимости - плохая практика, надо вескую причину чтобы это делать
- пишите по простому - без 'module'
- настройте вебпак так чтобы он компилировал и собирал вам ts файлы. компилировать их отдельно и собирать отдельно не надо. как это сделать описано тут https://github.com/TypeStrong/ts-loader
Ответ написан
@mix-9 Автор вопроса
Кажется, нашел ответ. Для вебпака добавил в конфигурацию
output: {
    library: 'MyModule',
    filename: 'example3.js',

Плюс к этому нашел пример сбора файлов в один
import {Example1} from './example1';
import {Example2} from './example2';

export {Example1} from './example1';
export {Example2} from './example2';

export class Example3 {
    constructor().....

Хотя выводить в глобальную область видимости, наверное, плохо, поэтому вторую часть скорее всего использовать не буду
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы