Commit b5e1fb9d authored by 郝聪敏's avatar 郝聪敏

feature: 优化

parent 0cb79dca
module.exports = require('koa-compress');
\ No newline at end of file
...@@ -23,7 +23,19 @@ export default class Layout extends Vue { ...@@ -23,7 +23,19 @@ export default class Layout extends Vue {
@Prop({ type: String, default: 'Vue,TypeScript,Isomorphic' }) keywords?: string; @Prop({ type: String, default: 'Vue,TypeScript,Isomorphic' }) keywords?: string;
isNode: boolean = EASY_ENV_IS_NODE; isNode: boolean = EASY_ENV_IS_NODE;
scriptSrc: string = `<script src="https://activitystatic.lkbang.net/sa-sdk-javascript/1.15.16/sensorsdata.min.js"></script>`; // saSrc: string = `<script src="https://activitystatic.lkbang.net/sa-sdk-javascript/1.15.16/sensorsdata.min.js"></script>`;
// swiperSrc: string = `<script src="https://activitystatic.lkbang.net/swiper/4.5.1/swiper.min.js"></script>`;
// vueSrc: string = `<script src="https://activitystatic.lkbang.net/vue/2.6.11/vue.min.js"></script>`;
// vueRouterSrc: string = `<script src="https://activitystatic.lkbang.net/vue-router/3.2.0/vue-router.min.js"></script>`;
// vuexSrc: string = `<script src="https://activitystatic.lkbang.net/vuex/3.4.0/vuex.min.js"></script>`;
scriptSrc: string[] = [
// `<script src="https://activitystatic.lkbang.net/vue/2.6.11/vue.min.js"></script>`,
// `<script src="https://activitystatic.lkbang.net/vue-router/3.2.0/vue-router.min.js"></script>`,
`<script src="https://activitystatic.lkbang.net/vuex/3.4.0/vuex.min.js"></script>`,
`<script src="https://activitystatic.lkbang.net/sa-sdk-javascript/1.15.16/sensorsdata.min.js"></script>`,
`<script src="https://activitystatic.lkbang.net/swiper/4.5.1/swiper.min.js"></script>`,
`<script src="https://cdn.bootcss.com/axios/0.19.2/axios.min.js"></script>`
];
created() { created() {
console.log('>>EASY_ENV_IS_NODE create', EASY_ENV_IS_NODE); console.log('>>EASY_ENV_IS_NODE create', EASY_ENV_IS_NODE);
......
...@@ -8,10 +8,11 @@ ...@@ -8,10 +8,11 @@
<meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no, minimal-ui"> <meta name="viewport" content="initial-scale=1, maximum-scale=1, user-scalable=no, minimal-ui">
<link rel="shortcut icon" href="/favicon.ico" type="image/x-icon" /> <link rel="shortcut icon" href="/favicon.ico" type="image/x-icon" />
<link rel="stylesheet" href="/public/asset/css/reset.css"> <link rel="stylesheet" href="/public/asset/css/reset.css">
<link rel="stylesheet" type="text/css" href="https://activitystatic.lkbang.net/swiper/4.5.1/css/swiper.min.css">
</head> </head>
<body> <body>
<div id="app"><slot></slot></div> <div id="app"><slot></slot></div>
<template v-html="scriptSrc"></template> <template v-html="item" v-for="item in scriptSrc"></template>
</body> </body>
</html> </html>
<div v-else-if="!isNode" id="app"><slot></slot></div> <div v-else-if="!isNode" id="app"><slot></slot></div>
......
...@@ -9,7 +9,7 @@ export default class App { ...@@ -9,7 +9,7 @@ export default class App {
} }
bootstrap() { bootstrap() {
console.log('EASY_ENV_IS_NODE', EASY_ENV_IS_NODE, EASY_ENV_IS_BROWSER); // console.log('EASY_ENV_IS_NODE', EASY_ENV_IS_NODE, EASY_ENV_IS_BROWSER);
if (EASY_ENV_IS_NODE) { if (EASY_ENV_IS_NODE) {
return this.server(); return this.server();
} }
...@@ -18,7 +18,7 @@ export default class App { ...@@ -18,7 +18,7 @@ export default class App {
create(initState) { create(initState) {
const { entry, createStore, createRouter } = this.config; const { entry, createStore, createRouter } = this.config;
console.log('initState', initState); // console.log('initState', initState);
const store = createStore(initState); const store = createStore(initState);
const router = createRouter(); const router = createRouter();
sync(store, router); sync(store, router);
......
...@@ -53,7 +53,7 @@ export default class Activity extends Mixins(TransformStyleMixin) { ...@@ -53,7 +53,7 @@ export default class Activity extends Mixins(TransformStyleMixin) {
fetchApi(options) { fetchApi(options) {
const { store, route } = options; const { store, route } = options;
const { pageId } = route.params; const { pageId } = route.params;
console.log('fetchApi', route); // console.log('fetchApi', route);
return store.dispatch('getPageDate', { pageId }); return store.dispatch('getPageDate', { pageId });
} }
......
...@@ -16,5 +16,11 @@ ...@@ -16,5 +16,11 @@
</head> </head>
<body> <body>
<div id="app"><!--vue-ssr-outlet--></div> <div id="app"><!--vue-ssr-outlet--></div>
<!-- <script src="https://activitystatic.lkbang.net/vue/2.6.11/vue.min.js"></script> -->
<!-- <script src="https://activitystatic.lkbang.net/vue-router/3.2.0/vue-router.min.js"></script> -->
<script src="https://activitystatic.lkbang.net/vuex/3.4.0/vuex.min.js"></script>
<script src="https://activitystatic.lkbang.net/sa-sdk-javascript/1.15.16/sensorsdata.min.js"></script>
<script src="https://activitystatic.lkbang.net/swiper/4.5.1/swiper.min.js"></script>
<script src="https://cdn.bootcss.com/axios/0.19.2/axios.min.js"></script>
</body> </body>
</html> </html>
\ No newline at end of file
...@@ -41,5 +41,12 @@ export default (appInfo: EggAppConfig) => { ...@@ -41,5 +41,12 @@ export default (appInfo: EggAppConfig) => {
allowMethods: 'GET,HEAD,PUT,POST,DELETE,PATCH' allowMethods: 'GET,HEAD,PUT,POST,DELETE,PATCH'
}; };
config.middleware = ['compress']; // 添加compress中间件
// 配置compress
config.compress = {
threshold: 2048 // 超过2048B进行压缩,不写默认为1024B
};
return config; return config;
}; };
...@@ -24,7 +24,7 @@ export default (appInfo: EggAppConfig) => { ...@@ -24,7 +24,7 @@ export default (appInfo: EggAppConfig) => {
exports.webpack = { exports.webpack = {
webpackConfigList: getWebpackConfig(), webpackConfigList: getWebpackConfig(),
browser: 'http://localhost:7001/editor/list' browser: 'http://localhost:7001/'
}; };
return exports; return exports;
......
This diff is collapsed.
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
"backend": "nohup egg-scripts start --port 7001 --workers 4", "backend": "nohup egg-scripts start --port 7001 --workers 4",
"dev": "egg-bin dev -r egg-ts-helper/register", "dev": "egg-bin dev -r egg-ts-helper/register",
"debug": "egg-bin debug -r egg-ts-helper/register", "debug": "egg-bin debug -r egg-ts-helper/register",
"build": "easy build --devtool", "build": "easy build --devtool -s",
"tsc": "ets && tsc -p tsconfig.json", "tsc": "ets && tsc -p tsconfig.json",
"clean": "ets clean", "clean": "ets clean",
"kill": "easy kill", "kill": "easy kill",
...@@ -20,8 +20,7 @@ ...@@ -20,8 +20,7 @@
"dependencies": { "dependencies": {
"@better-scroll/core": "^2.0.5", "@better-scroll/core": "^2.0.5",
"@qg/cherry-ui": "^2.18.75", "@qg/cherry-ui": "^2.18.75",
"@qg/citrus-ui": "0.0.18", "@qg/citrus-ui": "0.0.21",
"axios": "^0.21.1",
"babel-plugin-transform-vue-jsx": "^4.0.1", "babel-plugin-transform-vue-jsx": "^4.0.1",
"egg": "^2.3.0", "egg": "^2.3.0",
"egg-bin": "^4.9.0", "egg-bin": "^4.9.0",
...@@ -32,16 +31,13 @@ ...@@ -32,16 +31,13 @@
"egg-webpack": "^4.4.7", "egg-webpack": "^4.4.7",
"egg-webpack-vue": "^2.0.0", "egg-webpack-vue": "^2.0.0",
"js-cookie": "^2.2.1", "js-cookie": "^2.2.1",
"koa-compress": "^5.0.1",
"npm": "^6.14.10", "npm": "^6.14.10",
"qs": "^6.9.4",
"raven-js": "^3.27.2", "raven-js": "^3.27.2",
"sa-sdk-javascript": "^1.15.27",
"vue": "^2.6.12", "vue": "^2.6.12",
"vue-awesome-swiper": "^3.1.3",
"vue-grid-layout": "^2.3.11", "vue-grid-layout": "^2.3.11",
"vue-property-decorator": "^7.2.0", "vue-property-decorator": "^7.2.0",
"vue-router": "^3.0.1", "vue-router": "^3.0.1",
"vuex": "^3.0.1",
"vuex-class": "^0.3.1", "vuex-class": "^0.3.1",
"vuex-router-sync": "^5.0.0" "vuex-router-sync": "^5.0.0"
}, },
......
...@@ -3,9 +3,11 @@ ...@@ -3,9 +3,11 @@
import 'egg'; import 'egg';
import ExportAccess from '../../../app/middleware/access'; import ExportAccess from '../../../app/middleware/access';
import ExportCompress from '../../../app/middleware/compress';
declare module 'egg' { declare module 'egg' {
interface IMiddleware { interface IMiddleware {
access: typeof ExportAccess; access: typeof ExportAccess;
compress: typeof ExportCompress;
} }
} }
...@@ -82,31 +82,17 @@ module.exports = { ...@@ -82,31 +82,17 @@ module.exports = {
cacheGroups: cacheGroups:
{ {
default: false, default: false,
vueRouter: { vue: {
name: 'vue-router', name: 'chunk-vue', // 分离组件库
priority: 23,
chunks: 'all',
test: /[\\/]node_modules[\\/]vue-router[\\/]/,
enforce: true
},
axios: {
name: 'axios',
priority: 23, priority: 23,
chunks: 'all', test: /[\\/]node_modules[\\/]vue[\\/]/,
test: /[\\/]node_modules[\\/]axios[\\/]/,
enforce: true enforce: true
}, },
vuex: { vueRouter: {
name: 'vuex', name: 'vue-router',
priority: 23, priority: 23,
chunks: 'all', chunks: 'all',
test: /[\\/]node_modules[\\/]vuex[\\/]/, test: /[\\/]node_modules[\\/]vue-router[\\/]/,
enforce: true
},
saSdk: {
name: "chunk-sa-sdk", // split cherryUI into a single package
priority: 22, // the weight needs to be larger than libs and app or it will be packaged into libs or app
test: /[\\/]node_modules[\\/]sa-sdk-javascript[\\/]/, // in order to adapt to cnpm
enforce: true enforce: true
}, },
interactjs: { interactjs: {
...@@ -124,30 +110,24 @@ module.exports = { ...@@ -124,30 +110,24 @@ module.exports = {
enforce: true enforce: true
}, },
ravenJs: { ravenJs: {
name: 'ravenJs', // 分离组件库 name: 'raven-js', // 分离组件库
priority: 19, priority: 19,
chunks: 'all', chunks: 'all',
test: /[\\/]node_modules[\\/]raven-js[\\/]/, test: /[\\/]node_modules[\\/]raven-js[\\/]/,
enforce: true enforce: true
}, },
swiper: {
name: 'swiper', // 分离组件库
priority: 19,
chunks: 'all',
test: /[\\/]node_modules[\\/]swiper[\\/]/,
enforce: true
},
cherryUI: { cherryUI: {
name: 'chunk-cherryUI', // 分离组件库 name: 'chunk-cherry-uI', // 分离组件库
priority: 18, priority: 18,
chunks: 'all', chunks: 'all',
test: /[\\/]node_modules[\\/]@qg[\\/]cherry-ui[\\/]/, test: /[\\/]node_modules[\\/]@qg[\\/]cherry-ui[\\/]/,
enforce: true enforce: true
}, },
vue: { citrusUi: {
name: 'chunk-vue', // 分离组件库 name: 'chunk-citrus-ui', // 分离组件库
priority: 17, priority: 17,
test: /[\\/]node_modules[\\/]vue[\\/]/, chunks: 'all',
test: /[\\/]node_modules[\\/]@qg[\\/]citrus-ui[\\/]/,
enforce: true enforce: true
}, },
common: { common: {
...@@ -182,7 +162,12 @@ module.exports = { ...@@ -182,7 +162,12 @@ module.exports = {
} }
}, },
externals: { externals: {
'sa-sdk-javascript': 'sensorsDataAnalytic201505' // 'vue': 'Vue',
// 'vue-router': 'VueRouter',
'vuex': 'Vuex',
'axios': 'axios',
'sa-sdk-javascript': 'sensorsDataAnalytic201505',
'swiper': 'Swiper',
}, },
// mode: 'development', // mode: 'development',
devtool:'source-map', devtool:'source-map',
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment