1
0
mirror of https://github.com/sahadev/vue-component-creater-ui.git synced 2025-06-06 13:04:05 +08:00

支持部分组件懒加载,但未完成支持

This commit is contained in:
shangbin 2021-10-22 20:19:12 +08:00
parent 178900c662
commit bc30b01c5e
8 changed files with 188 additions and 63 deletions

View File

@ -6,4 +6,6 @@ vue.config.js
.editorconfig
.vscode/launch.json
dist/vcc.umd.js
dist/vcc.common.js
dist/vcc.common.js
*.html

182
package-lock.json generated
View File

@ -1,5 +1,5 @@
{
"name": "lcg-vcc",
"name": "@lcg/vcc",
"version": "0.5.2",
"lockfileVersion": 1,
"requires": true,
@ -1239,6 +1239,12 @@
"fastq": "^1.6.0"
}
},
"@polka/url": {
"version": "1.0.0-next.21",
"resolved": "https://r.cnpmjs.org/@polka/url/download/@polka/url-1.0.0-next.21.tgz",
"integrity": "sha1-XeWiOFo1MJQn9gEZkrVEUU1VmqE=",
"dev": true
},
"@samverschueren/stream-to-observable": {
"version": "0.3.1",
"resolved": "http://npm.xesv5.com/@samverschueren%2fstream-to-observable/-/stream-to-observable-0.3.1.tgz",
@ -2001,6 +2007,16 @@
"universalify": "^0.1.0"
}
},
"gzip-size": {
"version": "5.1.1",
"resolved": "https://r.cnpmjs.org/gzip-size/download/gzip-size-5.1.1.tgz",
"integrity": "sha1-y5vuaS+HwGErIyhAqHOQTkwTUnQ=",
"dev": true,
"requires": {
"duplexer": "^0.1.1",
"pify": "^4.0.1"
}
},
"html-webpack-plugin": {
"version": "3.2.0",
"resolved": "https://registry.npm.taobao.org/html-webpack-plugin/download/html-webpack-plugin-3.2.0.tgz?cache=0&sync_timestamp=1608278250985&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fhtml-webpack-plugin%2Fdownload%2Fhtml-webpack-plugin-3.2.0.tgz",
@ -2124,6 +2140,27 @@
"define-properties": "^1.1.2",
"object.getownpropertydescriptors": "^2.0.3"
}
},
"webpack-bundle-analyzer": {
"version": "3.9.0",
"resolved": "https://r.cnpmjs.org/webpack-bundle-analyzer/download/webpack-bundle-analyzer-3.9.0.tgz",
"integrity": "sha1-9vlNsQj7V05BWtMT3kGicH0z7zw=",
"dev": true,
"requires": {
"acorn": "^7.1.1",
"acorn-walk": "^7.1.1",
"bfj": "^6.1.1",
"chalk": "^2.4.1",
"commander": "^2.18.0",
"ejs": "^2.6.1",
"express": "^4.16.3",
"filesize": "^3.6.1",
"gzip-size": "^5.0.0",
"lodash": "^4.17.19",
"mkdirp": "^0.5.1",
"opener": "^1.5.1",
"ws": "^6.0.0"
}
}
}
},
@ -3052,7 +3089,7 @@
},
"bfj": {
"version": "6.1.2",
"resolved": "https://registry.npm.taobao.org/bfj/download/bfj-6.1.2.tgz",
"resolved": "https://r.cnpmjs.org/bfj/download/bfj-6.1.2.tgz",
"integrity": "sha1-MlyGGoIryzWKQceKM7jm4ght3n8=",
"dev": true,
"requires": {
@ -3593,7 +3630,7 @@
},
"check-types": {
"version": "8.0.3",
"resolved": "https://registry.npm.taobao.org/check-types/download/check-types-8.0.3.tgz",
"resolved": "https://r.cnpmjs.org/check-types/download/check-types-8.0.3.tgz",
"integrity": "sha1-M1bMoZyIlUTy16le1JzlCKDs9VI=",
"dev": true
},
@ -5166,7 +5203,7 @@
},
"duplexer": {
"version": "0.1.2",
"resolved": "https://registry.npm.taobao.org/duplexer/download/duplexer-0.1.2.tgz",
"resolved": "https://r.cnpmjs.org/duplexer/download/duplexer-0.1.2.tgz",
"integrity": "sha1-Or5DrvODX4rgd9E23c4PJ2sEAOY=",
"dev": true
},
@ -5206,7 +5243,7 @@
},
"ejs": {
"version": "2.7.4",
"resolved": "https://registry.npm.taobao.org/ejs/download/ejs-2.7.4.tgz?cache=0&sync_timestamp=1597678376225&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fejs%2Fdownload%2Fejs-2.7.4.tgz",
"resolved": "https://r.cnpmjs.org/ejs/download/ejs-2.7.4.tgz",
"integrity": "sha1-SGYSh1c9zFPjZsehrlLDoSDuybo=",
"dev": true
},
@ -6291,7 +6328,7 @@
},
"filesize": {
"version": "3.6.1",
"resolved": "https://registry.npm.taobao.org/filesize/download/filesize-3.6.1.tgz",
"resolved": "https://r.cnpmjs.org/filesize/download/filesize-3.6.1.tgz",
"integrity": "sha1-CQuz7gG2+AGoqL6Z0xcQs0Irsxc=",
"dev": true
},
@ -6663,13 +6700,12 @@
"integrity": "sha1-Ila94U02MpWMRl68ltxGfKB6Kfs="
},
"gzip-size": {
"version": "5.1.1",
"resolved": "https://registry.npm.taobao.org/gzip-size/download/gzip-size-5.1.1.tgz",
"integrity": "sha1-y5vuaS+HwGErIyhAqHOQTkwTUnQ=",
"version": "6.0.0",
"resolved": "https://r.cnpmjs.org/gzip-size/download/gzip-size-6.0.0.tgz",
"integrity": "sha1-BlNn/VDCOcBnHLy61b4+LusQ5GI=",
"dev": true,
"requires": {
"duplexer": "^0.1.1",
"pify": "^4.0.1"
"duplexer": "^0.1.2"
}
},
"handle-thing": {
@ -6841,7 +6877,7 @@
},
"hoopy": {
"version": "0.1.4",
"resolved": "https://registry.npm.taobao.org/hoopy/download/hoopy-0.1.4.tgz",
"resolved": "https://r.cnpmjs.org/hoopy/download/hoopy-0.1.4.tgz",
"integrity": "sha1-YJIH1mEQADOpqUAq096mdzgcGx0=",
"dev": true
},
@ -9447,7 +9483,7 @@
},
"opener": {
"version": "1.5.2",
"resolved": "https://registry.npm.taobao.org/opener/download/opener-1.5.2.tgz?cache=0&sync_timestamp=1598733439329&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fopener%2Fdownload%2Fopener-1.5.2.tgz",
"resolved": "https://r.cnpmjs.org/opener/download/opener-1.5.2.tgz",
"integrity": "sha1-XTfh81B3udysQwE3InGv3rKhNZg=",
"dev": true
},
@ -11469,6 +11505,17 @@
}
}
},
"sirv": {
"version": "1.0.18",
"resolved": "https://r.cnpmjs.org/sirv/download/sirv-1.0.18.tgz",
"integrity": "sha1-EF+rUvtlbOiivrvzaxEFIAWVKJk=",
"dev": true,
"requires": {
"@polka/url": "^1.0.0-next.20",
"mime": "^2.3.1",
"totalist": "^1.0.0"
}
},
"slash": {
"version": "2.0.0",
"resolved": "https://registry.npm.taobao.org/slash/download/slash-2.0.0.tgz",
@ -12348,6 +12395,12 @@
"integrity": "sha1-LmhELZ9k7HILjMieZEOsbKqVACk=",
"dev": true
},
"totalist": {
"version": "1.1.0",
"resolved": "https://r.cnpmjs.org/totalist/download/totalist-1.1.0.tgz",
"integrity": "sha1-pNZaPlRlF3AePlw3pHpwrJf+Vt8=",
"dev": true
},
"tough-cookie": {
"version": "2.5.0",
"resolved": "https://registry.npm.taobao.org/tough-cookie/download/tough-cookie-2.5.0.tgz",
@ -12360,7 +12413,7 @@
},
"tryer": {
"version": "1.0.1",
"resolved": "https://registry.npm.taobao.org/tryer/download/tryer-1.0.1.tgz",
"resolved": "https://r.cnpmjs.org/tryer/download/tryer-1.0.1.tgz",
"integrity": "sha1-8shUBoALmw90yfdGW4HqrSQSUvg=",
"dev": true
},
@ -13273,30 +13326,93 @@
}
},
"webpack-bundle-analyzer": {
"version": "3.9.0",
"resolved": "https://registry.npm.taobao.org/webpack-bundle-analyzer/download/webpack-bundle-analyzer-3.9.0.tgz?cache=0&sync_timestamp=1608133841334&other_urls=https%3A%2F%2Fregistry.npm.taobao.org%2Fwebpack-bundle-analyzer%2Fdownload%2Fwebpack-bundle-analyzer-3.9.0.tgz",
"integrity": "sha1-9vlNsQj7V05BWtMT3kGicH0z7zw=",
"version": "4.5.0",
"resolved": "https://r.cnpmjs.org/webpack-bundle-analyzer/download/webpack-bundle-analyzer-4.5.0.tgz",
"integrity": "sha1-Gw7qKUfnNSh1Sm+a8+kbK24PedU=",
"dev": true,
"requires": {
"acorn": "^7.1.1",
"acorn-walk": "^7.1.1",
"bfj": "^6.1.1",
"chalk": "^2.4.1",
"commander": "^2.18.0",
"ejs": "^2.6.1",
"express": "^4.16.3",
"filesize": "^3.6.1",
"gzip-size": "^5.0.0",
"lodash": "^4.17.19",
"mkdirp": "^0.5.1",
"opener": "^1.5.1",
"ws": "^6.0.0"
"acorn": "^8.0.4",
"acorn-walk": "^8.0.0",
"chalk": "^4.1.0",
"commander": "^7.2.0",
"gzip-size": "^6.0.0",
"lodash": "^4.17.20",
"opener": "^1.5.2",
"sirv": "^1.0.7",
"ws": "^7.3.1"
},
"dependencies": {
"acorn": {
"version": "7.4.1",
"resolved": "https://registry.npm.taobao.org/acorn/download/acorn-7.4.1.tgz",
"integrity": "sha1-/q7SVZc9LndVW4PbwIhRpsY1IPo=",
"version": "8.5.0",
"resolved": "https://r.cnpmjs.org/acorn/download/acorn-8.5.0.tgz",
"integrity": "sha1-RRLMuZs2mMdSWR6btEcuOK1DzuI=",
"dev": true
},
"acorn-walk": {
"version": "8.2.0",
"resolved": "https://r.cnpmjs.org/acorn-walk/download/acorn-walk-8.2.0.tgz",
"integrity": "sha1-dBIQ8uJCZFRQiFOi9E0KuDt/acE=",
"dev": true
},
"ansi-styles": {
"version": "4.3.0",
"resolved": "https://r.cnpmjs.org/ansi-styles/download/ansi-styles-4.3.0.tgz",
"integrity": "sha1-7dgDYornHATIWuegkG7a00tkiTc=",
"dev": true,
"requires": {
"color-convert": "^2.0.1"
}
},
"chalk": {
"version": "4.1.2",
"resolved": "https://r.cnpmjs.org/chalk/download/chalk-4.1.2.tgz",
"integrity": "sha1-qsTit3NKdAhnrrFr8CqtVWoeegE=",
"dev": true,
"requires": {
"ansi-styles": "^4.1.0",
"supports-color": "^7.1.0"
}
},
"color-convert": {
"version": "2.0.1",
"resolved": "https://r.cnpmjs.org/color-convert/download/color-convert-2.0.1.tgz",
"integrity": "sha1-ctOmjVmMm9s68q0ehPIdiWq9TeM=",
"dev": true,
"requires": {
"color-name": "~1.1.4"
}
},
"color-name": {
"version": "1.1.4",
"resolved": "https://r.cnpmjs.org/color-name/download/color-name-1.1.4.tgz",
"integrity": "sha1-wqCah6y95pVD3m9j+jmVyCbFNqI=",
"dev": true
},
"commander": {
"version": "7.2.0",
"resolved": "https://r.cnpmjs.org/commander/download/commander-7.2.0.tgz",
"integrity": "sha1-o2y1fQtQHOEI5NIFWaFQo5HZerc=",
"dev": true
},
"has-flag": {
"version": "4.0.0",
"resolved": "https://r.cnpmjs.org/has-flag/download/has-flag-4.0.0.tgz",
"integrity": "sha1-lEdx/ZyByBJlxNaUGGDaBrtZR5s=",
"dev": true
},
"supports-color": {
"version": "7.2.0",
"resolved": "https://r.cnpmjs.org/supports-color/download/supports-color-7.2.0.tgz",
"integrity": "sha1-G33NyzK4E4gBs+R4umpRyqiWSNo=",
"dev": true,
"requires": {
"has-flag": "^4.0.0"
}
},
"ws": {
"version": "7.5.5",
"resolved": "https://r.cnpmjs.org/ws/download/ws-7.5.5.tgz",
"integrity": "sha1-i0vEr1GM+r0Ec65PmRRCh7M+uIE=",
"dev": true
}
}

View File

@ -1,7 +1,7 @@
{
"name": "lcg-vcc",
"description": "Low Code Generator -> Vue Component Creater",
"version": "0.5.2",
"version": "0.5.3",
"private": false,
"keywords": [
"low-code",
@ -11,7 +11,7 @@
"scripts": {
"serve": "vue-cli-service serve --open --port 8008",
"build:release": "vue-cli-service build",
"build": "vue-cli-service build --target lib --name vcc ./src/components-v2/VCC.vue",
"build": "vue-cli-service build --report --target lib --name vcc './src/components-v2/VCC.vue' && node ./src/script/distClear.js",
"compileAndbuild:dev": "npm run compileComponent && vue-cli-service build",
"lint": "vue-cli-service lint",
"build:prod": "vue-cli-service build --mode production",

View File

@ -55,21 +55,12 @@
<script>
import { splitInit } from "../libs/split-init";
//
import { MainPanelProvider } from "../libs/main-panel";
import { initContainerForLine } from "@/utils/lineHelper";
const keymaster = require('keymaster');
import styleData from "../map/style.index.js";
import methodData from "../map/method.index.js";
import dataData from "../map/data.index.js";
import templateData from "../map/template.index.js";
window.templateSourceMap = templateData;
window.dataSourceMap = dataData;
window.methodSourceMap = methodData;
window.styleSourceMap = styleData;
export default {
name: "vcc",
props: ['initCodeEntity'],
@ -114,8 +105,11 @@ export default {
},
beforeMount() { },
mounted() {
Promise.all([import("../map/load")])
.then(res => {
this.init();
});
splitInit();
this.init();
this.initShortcut();
},
beforeUpdate() { },

View File

@ -11,10 +11,6 @@ import "./assets/nestable.css"
Vue.use(ElementUI);
Vue.use(AntdUI);
Vue.config.errorHandler = function (err, vm, info) {
console.error(err);
}
new Vue({
el: "#app",
render: (h) => h(APP),

12
src/map/load.js Normal file
View File

@ -0,0 +1,12 @@
/**
* 加载外部代码资源
*/
import styleData from "../map/style.index.js";
import methodData from "../map/method.index.js";
import dataData from "../map/data.index.js";
import templateData from "../map/template.index.js";
window.templateSourceMap = templateData;
window.dataSourceMap = dataData;
window.methodSourceMap = methodData;
window.styleSourceMap = styleData;

17
src/script/distClear.js Normal file
View File

@ -0,0 +1,17 @@
const glob = require("glob");
const file = require("fs");
glob(
"**/*.js",
{
cwd: "./dist/",
absolute: true,
ignore: ["**/*.min.*"],
},
function (er, files) {
console.info(`正在清理多余文件...`);
files.forEach((filePath) => {
file.rm(filePath, function (er) {});
});
}
);

View File

@ -3,18 +3,6 @@ const path = require("path");
module.exports = {
css: { extract: false },
chainWebpack: (config) => {
const vueRule = config.module.rule("vue");
vueRule
.use("iview-loader")
.loader("iview-loader")
.tap((options) => {
// 修改它的选项...
return {
prefix: false,
};
});
config.resolve.alias.set("vue$", "vue/dist/vue.esm.js");
},