packages/core/browser-vm/stories/browser.stories.js (34 lines of code) (raw):
import * as React from 'react';
import { createContext } from '../src/index';
import { storiesOf } from '@storybook/react';
import { useEffect } from '@storybook/addons';
const context = createContext( { initURL: 'https://www.example.com/home', id: 'test-1', enableScriptEscape: false, externals:['require'] } );
window.require = function() {};
window.require.xxx = 'test';
storiesOf('Loader', module)
.add('Loader', () => {
useEffect(() => {
context.then((ctx) => {
const fn = eval(`
(() => function({window, history, locaiton, document}) {
window.test = 1;
console.log('test', window.test);
const script = document.createElement('script')
script.src = 'https://g.alicdn.com/code/lib/antv-g2/4.0.12/g2.min.js'
script.addEventListener('load', () => {
console.log('G2', window.G2)
})
script.addEventListener('error', () => {
console.log('G2 error', window.G2)
})
document.body.append(script)
const script1 = document.createElement('script')
document.body.append(script1)
script1.innerHTML = "console.log('script1 test',window.test)"
console.log('window.require', window.require.xxx)
})()`
);
fn({ ...ctx });
})
}, []);
return (<div> 111 </div>);
})