Преглед на файлове

feat: 优化引擎体积1

zhangyuhan преди 2 дни
родител
ревизия
d5c581bf23
променени са 8 файла, в които са добавени 31 реда и са изтрити 4 реда
  1. 7 0
      babel.config.js
  2. 8 2
      client/main.js
  3. 8 2
      client/pages/home/index.vue
  4. 1 0
      package.json
  5. 1 0
      public/index.html
  6. 1 0
      service/views/h5-long.ejs
  7. 1 0
      service/views/pc.ejs
  8. 4 0
      vue.config.js

+ 7 - 0
babel.config.js

@@ -3,6 +3,13 @@ module.exports = {
     '@vue/app'
   ],
   plugins: [
+    [
+      "component",
+      {
+        "libraryName": "element-ui",
+        "styleLibraryName": "theme-chalk"
+      }
+    ],
     ['import', {
       libraryName: 'vant',
       libraryDirectory: 'es',

+ 8 - 2
client/main.js

@@ -10,7 +10,8 @@ import filters from './filters/index' //过滤器
 import AES from '@/common/js/secret'
 import * as API from '@/api/index'
 
-import Element from 'element-ui'
+// import Element from 'element-ui'
+import { Loading, Message, MessageBox } from 'element-ui'
 import '@/common/styles/element-variables.scss'
 import '@/common/styles/index.scss' // 自定义 css
 import 'animate.css' //动画 css
@@ -26,7 +27,7 @@ import 'vue-mini-player/lib/vue-mini-player.css'
 // Vue.use(VCharts)
 
 
-Vue.use(Element);
+// Vue.use(Element);
 Vue.use(VueClipboard)
 Vue.use(hotKey)
 Vue.use(Contextmenu);
@@ -41,6 +42,11 @@ Vue.prototype.$axios = httpServer;
 Vue.prototype.$api = API;
 Vue.prototype.$API = API;
 
+Vue.prototype.$message = Message
+Vue.prototype.$alert = MessageBox.alert
+Vue.prototype.$confirm = MessageBox.confirm
+Vue.prototype.$loading = Loading.service
+
 /**
  * 公共配置信息
  */

+ 8 - 2
client/pages/home/index.vue

@@ -27,8 +27,14 @@
 </template>
 
 <script>
-	export default {
-	}
+import { Menu, MenuItem } from 'element-ui'
+
+export default {
+ components: {
+   [Menu.name]: Menu,
+   [MenuItem.name]: MenuItem,
+ }
+}
 </script>
 
 <style lang="scss" scoped>

+ 1 - 0
package.json

@@ -15,6 +15,7 @@
     "template": "npm run template:h5-parse && npm run template:h5-long && npm run template:pc",
     "template:h5-parse": "vue-cli-service build --target lib --name page-engine --dest service/public/engine_libs/h5-swiper engine-template/engine-h5-swiper/index.js",
     "template:h5-long": "vue-cli-service build --target lib --name page-engine --dest service/public/engine_libs/h5-long engine-template/engine-h5-long/index.js",
+    "template:h5-long-a": "vue-cli-service build --target lib --name page-engine --dest service/public/engine_libs/h5-long engine-template/engine-h5-long/index.js --report",
     "template:pc": "vue-cli-service build --target lib --name page-engine --dest service/public/engine_libs/pc engine-template/engine-pc/index.js"
   },
   "dependencies": {

+ 1 - 0
public/index.html

@@ -22,6 +22,7 @@
 <script src="https://cdn-common.jianyu360.com/cdn/lib/vuex/3.6.2/vuex.min.js"></script>
 <script src="https://cdn-common.jianyu360.com/cdn/lib/axios/1.6.7/axios.min.js"></script>
 <script src="https://cdn-common.jianyu360.com/cdn/lib/vant/2.12.24/lib/vant.min.js"></script>
+<script src="https://cdn-common.jianyu360.com/cdn/lib/lodash/4.17.21/lodash.min.js"></script>
 <% } %>
 </body>
 

+ 1 - 0
service/views/h5-long.ejs

@@ -16,6 +16,7 @@
   <script src="https://cdn-common.jianyu360.com/cdn/lib/vuex/3.6.2/vuex.min.js"></script>
   <script src="https://cdn-common.jianyu360.com/cdn/lib/axios/1.6.7/axios.min.js"></script>
   <script src="https://cdn-common.jianyu360.com/cdn/lib/vant/2.12.24/lib/vant.min.js"></script>
+  <script src="https://cdn-common.jianyu360.com/cdn/lib/lodash/4.17.21/lodash.min.js"></script>
   <link rel="stylesheet" href="https://h5-editor.jydev.jianyu360.cn/third-libs/animate.min.css">
   <!--引入模板-->
   <script src="https://h5-editor.jydev.jianyu360.cn/engine_libs/h5-long/page-engine.umd.js?v=250819"></script>

+ 1 - 0
service/views/pc.ejs

@@ -16,6 +16,7 @@
   <script src="https://cdn-common.jianyu360.com/cdn/lib/vuex/3.6.2/vuex.min.js"></script>
   <script src="https://cdn-common.jianyu360.com/cdn/lib/axios/1.6.7/axios.min.js"></script>
   <script src="https://cdn-common.jianyu360.com/cdn/lib/vant/2.12.24/lib/vant.min.js"></script>
+  <script src="https://cdn-common.jianyu360.com/cdn/lib/lodash/4.17.21/lodash.min.js"></script>
   <link rel="stylesheet" href="https://h5-editor.jydev.jianyu360.cn/third-libs/animate.min.css">
   <!--引入模板-->
   <script src="https://h5-editor.jydev.jianyu360.cn/engine_libs/pc/page-engine.umd.js?v=250819"></script>

+ 4 - 0
vue.config.js

@@ -29,6 +29,7 @@ const externals = {
   axios: 'axios',
   'echarts': 'echarts',
   'v-charts': 'VeIndex',
+  'lodash': '_',
   vant: 'vant',
 }
 
@@ -152,6 +153,9 @@ module.exports = {
       .use('babel')
       .loader('babel-loader')
 
+    config.optimization.minimize(true)
+        .minimizer('terser')
+
     .tap(options => {
         // 修改它的选项...
         return options