In typescript, when targeting es5, the recipes above do not work (because in this case they do not follow the es-module system).
You can create a file that pulls out all the semantic ui response modules that you use one by one and re-export them. Then in your code, you simply add modules from the auxiliary file, not from the library itself.
Like this:
import Button = require('semantic-ui-react/dist/es/elements/Button'); import Icon = require('semantic-ui-react/dist/es/elements/Icon'); import Image = require('semantic-ui-react/dist/es/elements/Image'); import Input = require('semantic-ui-react/dist/es/elements/Input'); import Label = require('semantic-ui-react/dist/es/elements/Label'); import Form = require('semantic-ui-react/dist/es/collections/Form'); import Menu = require('semantic-ui-react/dist/es/collections/Menu'); import Message = require('semantic-ui-react/dist/es/collections/Message'); import Table = require('semantic-ui-react/dist/es/collections/Table'); import Checkbox = require('semantic-ui-react/dist/es/modules/Checkbox'); import Dropdown = require('semantic-ui-react/dist/es/modules/Dropdown'); import Modal = require('semantic-ui-react/dist/es/modules/Modal'); import Confirm = require('semantic-ui-react/dist/es/addons/Confirm'); import TextArea = require('semantic-ui-react/dist/es/addons/TextArea'); import { DropdownItemProps, CheckboxProps, InputProps, MenuItemProps, ModalProps, TextAreaProps } from 'semantic-ui-react/index.d'; export { Button, Dropdown, Confirm, Icon, Input, Modal, Label, Table, Checkbox, TextArea, Form, Menu, Image, Message }; export { DropdownItemProps, CheckboxProps, InputProps, MenuItemProps, ModalProps, TextAreaProps };
source share