youzanyun-devtool-worker
Version:
71 lines (66 loc) • 2.29 kB
HTML
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<style>
body {
margin: 0;
}
.default-content {
color: #504d50;
padding: 20px 10px;
}
.default-content.hide {
display: none;
}
</style>
</head>
<body>
<div id="app"></div>
<script src="/utils/vue.min.js"></script>
<script src="/design-platform/custom-comps/contants.js"></script>
<div id="insertFlag"></div>
<script>
var dllScript = document.createElement('script');
var compScript = document.createElement('script');
var querystring = location.search.split('?')[1];
var queryArr = querystring.split('&');
var query = {};
for(var i = 0; i < queryArr.length; i++) {
var item = queryArr[i].split('=');
query[item[0]] = item[1];
}
// dll
var dllPath = query.proPath + '/showcase-components/dist/vendors.dll.js';
var dllSrc = `/_yzydev_/local/file?filePath=${dllPath}`;
dllScript.setAttribute('src', dllSrc);
dllScript.onload = function () {
document.body.insertBefore(compScript, insertFlag);
}
var filePath = query.proPath + '/showcase-components/dist/' + query.compName +'.js';
var fileSrc = `/_yzydev_/local/file?filePath=${filePath}`;
compScript.setAttribute('src', fileSrc);
var insertFlag = document.getElementById('insertFlag');
document.body.insertBefore(dllScript, insertFlag);
// document.body.insertBefore(compScript, insertFlag);
compScript.onload = function() {
var mallCloudComps = (window.mallCloud && window.mallCloud.components) || {};
var MVue = (window.mallCloud && window.mallCloud.Vue ) || Vue;
var VueComp = new MVue({
render: (createElement) => {
let children = Object.keys(mallCloudComps).map((item, i) => {
return createElement(MVue.extend(mallCloudComps[item]), {
props: {
componentIndex: i
}
});
});
return createElement('div', children)
}
});
VueComp.$mount('#app');
};
</script>
</body>
</html>