How to import stompjs into rollup

In an ng2 application with typescript I use stompjs and it works fine without rollup.

I import it:

import {Stomp} from "stompjs"

After starting up the drive, I get "EXCEPTION: Stomp not defined"

My folding configuration:

 import rollup from 'rollup'; import nodeResolve from 'rollup-plugin-node-resolve'; import commonjs from 'rollup-plugin-commonjs'; export default { entry: 'aot/app/src/boot-aot.js', dest: 'dist/bundle.es2015.js', // output a single application bundle sourceMap: true, useStrict: false, format: 'iife', treeshake: true, plugins: [ nodeResolve({ module: true, jsnext: true, main: true, browser: true, extensions: ['.js'] }), commonjs({ include: [ 'node_modules/rxjs/**', 'node_modules/stompjs/**' ], namedExports: { 'node_modules/stompjs/lib/stomp.min.js': [ 'Stomp' ] } }) ] } 

TypeScript type definition file for stompjs

 declare module "stompjs" { export interface Client { heartbeat: any; debug(...args: string[]); connect(...args: any[]); disconnect(disconnectCallback: () => any, headers?: any); send(destination: string, headers?:any, body?: string); subscribe(destination: string, callback?: (message: Message) => any, body?: string); unsubscribe(); begin(transaction: string); commit(transaction: string); abort(transaction: string); ack(messageID: string, subscription: string, headers?: any); nack(messageID: string, subscription: string, headers?: any); } export interface Message { command: string; headers: any; body: string; ack(headers?: any); nack(headers?: any); } export interface Frame { constructor(command: string, headers?: any, body?: string); toString(): string; sizeOfUTF8(s: string); unmarshall(datas: any); marshall(command: string, headers?, body?); } export interface Stomp { client: Client; Frame: Frame; over(ws: WebSocket); } export default Stomp; } 
+5
source share
1 answer

Use import * as Stomp from "stompjs"

+1
source

Source: https://habr.com/ru/post/1258417/


All Articles