Commit 20c5950b by 无尘

add aside-menu

parent bc7e9ca2
{
"presets": [
["env", { "modules": false }],
"stage-3"
]
}
root = true
[*]
charset = utf-8
indent_style = space
indent_size = 2
end_of_line = lf
insert_final_newline = true
trim_trailing_whitespace = true
.DS_Store
node_modules/
npm-debug.log
yarn-error.log
# Editor directories and files
.idea
*.suo
*.ntvs*
*.njsproj
*.sln
\ No newline at end of file
vue-pligin # 公共侧边栏菜单插件
公共左侧菜单插件 > A Vue.js area select Plugin
\ No newline at end of file
## Install
- 记得需要切换 公司源
- 换源: npm config set registry http://www.gicdev.com:7001/ 或者使用 nrm 切换
```shell
npm install @gic-test/vue-gic-aside-menu -S
```
## how to use
```
// main.js
import vueGicAsideMenu from '@gic-test/vue-gic-aside-menu'
Vue.use(vueGicAsideMenu)
// 使用页面
<vue-gic-aside-menu ref="leftMenus" :projectName="projectName" :collapseFlag="collapseFlag"></vue-gic-aside-menu>
data() {
return {
// 可传参数
projectName: '', // 当前项目名
collapseFlag: false, // 折叠参数
// 路由菜单
修改由插件内请求
}
}
methods: {
// 处理路由跳转(左侧菜单暂时不用,组件内处理)
},
```
> 注意,层级比较深的内部样式无法修改,需要使用页设置
```
.left-aside-contain {
/deep/ .el-submenu__title:hover {
background-color: #020b21;
}
}
使用页如果有加 scoped ,需要到公共样式中添加
.el-menu.el-menu--popup {
background: #020b21;
border-radius: 4px;
}
/* 左侧菜单 */
.leftBar-wrap .el-menu{
background-color: #020b21;
}
.leftBar-wrap .cardmenu-item .el-submenu__title,.leftBar-wrap .cardmenu-item .el-menu-item,.leftBar-wrap .cardmenu-item .el-submenu .el-menu-item{
height: 40px;
line-height: 40px;
}
.leftBar-wrap .el-submenu__title:hover {
background-color: #020b21;
}
.leftBar-wrap .cardmenu-item li.el-menu-item:hover i{
/*background-color: #409EFF;*/
color: #fff;
}
.leftBar-wrap .cardmenu-item li.el-menu-item:hover span{
/*background-color: #409EFF;*/
color: #fff;
}
.leftBar-wrap .cardmenu-item li.el-submenu:hover i{
/*background-color: #409EFF;*/
color: #fff;
}
.leftBar-wrap .cardmenu-item li.el-submenu:hover span{
/*background-color: #409EFF;*/
color: #fff;
}
.leftBar-wrap .cardmenu-item li.el-submenu .el-menu-item:hover label{
/*background-color: #409EFF;*/
color: #fff;
cursor: pointer;
}
.leftBar-wrap .cardmenu-item .el-submenu.is-active div.el-submenu__title i{
color: #fff;
}
.leftBar-wrap .cardmenu-item .el-submenu.is-active div.el-submenu__title span{
color: #fff;
}
.el-menu.el-menu--popup .el-menu-item.is-active label {
color: #fff;
}
```
!function(e,t){"object"==typeof exports&&"object"==typeof module?module.exports=t():"function"==typeof define&&define.amd?define("vue-gic-aside-menu",[],t):"object"==typeof exports?exports["vue-gic-aside-menu"]=t():e["vue-gic-aside-menu"]=t()}("undefined"!=typeof self?self:this,function(){return function(e){function t(n){if(r[n])return r[n].exports;var a=r[n]={i:n,l:!1,exports:{}};return e[n].call(a.exports,a,a.exports,t),a.l=!0,a.exports}var r={};return t.m=e,t.c=r,t.d=function(e,r,n){t.o(e,r)||Object.defineProperty(e,r,{configurable:!1,enumerable:!0,get:n})},t.n=function(e){var r=e&&e.__esModule?function(){return e.default}:function(){return e};return t.d(r,"a",r),r},t.o=function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},t.p="/dist/",t(t.s=3)}([function(e,t,r){"use strict";var n=r(11),a=r.n(n);t.a={name:"vue-gic-aside-menu",props:["collapseFlag","projectName"],data:function(){return{repProjectName:"gic-web",asideHeight:"0px",pathName:"",leftCollapse:!1,leftModuleName:"",menuLeftRouter:[],baseUrl:"",selectMenu:""}},beforeMount:function(){var e=this,t=window.location.origin;console.log("当前host:",t),"-1"!=t.indexOf("localhost")?e.baseUrl="http://gicdev.demogic.com":e.baseUrl=t},methods:{handleOpen:function(e,t){},handleSelect:function(e,t){var r=this;console.log(e,t),r.selectMenu=e},setNewData:function(e){var t=this;e.forEach(function(e,t){null==e.level4List||0==e.level4List.length?e.menuUrl="/"+e.menuUrl:e.level4List.forEach(function(e,t){e.menuUrl="/"+e.menuUrl})}),console.log("处理后的左侧菜单 list:",e),t.menuLeftRouter=e},toRouter:function(e){this.$emit("toLeftRouterView","/"+e)},refreshRoute:function(){var e=this;e.routePathName=window.location.hash.split("/")[1],-1!=e.routePathName.indexOf("?")&&(e.routePathName=e.routePathName.split("?")[0]),-1!=e.routePathName.indexOf("/")&&(e.routePathName=e.routePathName.split("/")[0]),console.log("routePathname:",e.routePathName),e.pathName=e.routePathName,e.getLeftMenu()},getLeftMenu:function(){var e=this,t={project:e.repProjectName,path:e.pathName,requestProject:e.repProjectName};e.axios.post(e.baseUrl+"/api-auth/get-current-memu-data",a.a.stringify(t)).then(function(t){var r=t.data;if(0==r.errorCode)return r.result?(e.leftModuleName=r.result.level2.menuName,e.setNewData(r.result.leftMenu),r.result.level4?void(e.selectMenu="/"+r.result.level4.menuUrl):void(r.result.level3&&(e.selectMenu="/"+r.result.level3.menuUrl))):void console.log("resData.result: ",r.result);e.$message.error({duration:1e3,message:r.message})}).catch(function(t){console.log(t),e.$message.error({duration:1e3,message:t.message})})}},watch:{$route:{handler:function(e,t){console.log("左侧菜单插件获取当前路由:",e)},deep:!0},collapseFlag:function(e,t){this.leftCollapse=e},projectName:function(e,t){this.repProjectName=e||"gic-web"}},mounted:function(){console.log("传递的左侧菜单参数:",this.projectName,this.$route);var e=this;e.repProjectName=e.projectName||"gic-web",e.asideHeight=(document.documentElement.clientHeight||document.body.clientHeight)-64+"px",e.pathName=window.location.hash.split("/")[1],-1!=e.pathName.indexOf("?")&&(e.pathName=e.pathName.split("?")[0]),console.log("pathname:",e.pathName),e.getLeftMenu(),e.leftCollapse=e.collapseFlag}}},function(e,t,r){"use strict";var n=Object.prototype.hasOwnProperty,a=function(){for(var e=[],t=0;t<256;++t)e.push("%"+((t<16?"0":"")+t.toString(16)).toUpperCase());return e}();t.arrayToObject=function(e,t){for(var r=t&&t.plainObjects?Object.create(null):{},n=0;n<e.length;++n)void 0!==e[n]&&(r[n]=e[n]);return r},t.merge=function(e,r,a){if(!r)return e;if("object"!=typeof r){if(Array.isArray(e))e.push(r);else{if("object"!=typeof e)return[e,r];(a.plainObjects||a.allowPrototypes||!n.call(Object.prototype,r))&&(e[r]=!0)}return e}if("object"!=typeof e)return[e].concat(r);var o=e;return Array.isArray(e)&&!Array.isArray(r)&&(o=t.arrayToObject(e,a)),Array.isArray(e)&&Array.isArray(r)?(r.forEach(function(r,o){n.call(e,o)?e[o]&&"object"==typeof e[o]?e[o]=t.merge(e[o],r,a):e.push(r):e[o]=r}),e):Object.keys(r).reduce(function(e,n){var o=r[n];return Object.prototype.hasOwnProperty.call(e,n)?e[n]=t.merge(e[n],o,a):e[n]=o,e},o)},t.decode=function(e){try{return decodeURIComponent(e.replace(/\+/g," "))}catch(t){return e}},t.encode=function(e){if(0===e.length)return e;for(var t="string"==typeof e?e:String(e),r="",n=0;n<t.length;++n){var o=t.charCodeAt(n);45===o||46===o||95===o||126===o||o>=48&&o<=57||o>=65&&o<=90||o>=97&&o<=122?r+=t.charAt(n):o<128?r+=a[o]:o<2048?r+=a[192|o>>6]+a[128|63&o]:o<55296||o>=57344?r+=a[224|o>>12]+a[128|o>>6&63]+a[128|63&o]:(n+=1,o=65536+((1023&o)<<10|1023&t.charCodeAt(n)),r+=a[240|o>>18]+a[128|o>>12&63]+a[128|o>>6&63]+a[128|63&o])}return r},t.compact=function(e,r){if("object"!=typeof e||null===e)return e;var n=r||[],a=n.indexOf(e);if(-1!==a)return n[a];if(n.push(e),Array.isArray(e)){for(var o=[],i=0;i<e.length;++i)e[i]&&"object"==typeof e[i]?o.push(t.compact(e[i],n)):void 0!==e[i]&&o.push(e[i]);return o}return Object.keys(e).forEach(function(r){e[r]=t.compact(e[r],n)}),e},t.isRegExp=function(e){return"[object RegExp]"===Object.prototype.toString.call(e)},t.isBuffer=function(e){return null!==e&&void 0!==e&&!!(e.constructor&&e.constructor.isBuffer&&e.constructor.isBuffer(e))}},function(e,t,r){"use strict";var n=String.prototype.replace,a=/%20/g;e.exports={default:"RFC3986",formatters:{RFC1738:function(e){return n.call(e,a,"+")},RFC3986:function(e){return e}},RFC1738:"RFC1738",RFC3986:"RFC3986"}},function(e,t,r){"use strict";Object.defineProperty(t,"__esModule",{value:!0});var n=r(4),a={install:function(e,t){e.component(n.a.name,n.a)}};"undefined"!=typeof window&&window.Vue&&window.Vue.use(a),t.default=a},function(e,t,r){"use strict";function n(e){r(5)}var a=r(0),o=r(14),i=r(10),l=n,s=i(a.a,o.a,!1,l,"data-v-12bb40b8",null);t.a=s.exports},function(e,t,r){var n=r(6);"string"==typeof n&&(n=[[e.i,n,""]]),n.locals&&(e.exports=n.locals);r(8)("4e871059",n,!0,{})},function(e,t,r){t=e.exports=r(7)(!1),t.push([e.i,'.attention-wrap .item-label[data-v-12bb40b8]{font-size:14px;color:#606266;margin-bottom:30px}.attention-wrap .item-label span[data-v-12bb40b8]{display:inline-block;width:80px}.left-aside-contain[data-v-12bb40b8]{display:inline-block}.left-aside-contain[data-v-12bb40b8]::-webkit-scrollbar{width:0;height:0}.left-aside-contain/deep/.el-submenu .el-submenu__title[data-v-12bb40b8]:hover{background-color:#020b21}.leftBar-wrap[data-v-12bb40b8]{height:100%;display:inline-block;overflow:auto}.leftBar-wrap[data-v-12bb40b8]::-webkit-scrollbar{width:0;height:0}.leftBar-wrap .cardmenu[data-v-12bb40b8]{flex:0 0 200px;width:200px;height:100%;overflow-y:auto;overflow-x:hidden;background-color:#020b21;cursor:pointer;transition:all .2s ease}.leftBar-wrap .cardmenu[data-v-12bb40b8]::-webkit-scrollbar{width:0;height:0}.leftBar-wrap .collapse[data-v-12bb40b8]{transition:all .3s ease;flex:0 0 64px;width:64px;overflow:hidden}.leftBar-wrap .cardtitle[data-v-12bb40b8]{font-size:20px;color:#fff;padding-left:20px;height:56px;line-height:56px}.el-menu .el-submenu[data-v-12bb40b8],.leftBar-wrap .el-menu .el-menu-item[data-v-12bb40b8]{background:#020b21}.leftBar-wrap/deep/.el-submenu__title[data-v-12bb40b8]:hover{background-color:#020b21}.leftBar-wrap .cardmenu-item/deep/.el-menu-item-group .el-menu-item-group__title[data-v-12bb40b8]{background-color:#020b21;display:none}.leftBar-wrap .cardmenu-item/deep/.el-menu-item span[data-v-12bb40b8],.leftBar-wrap .cardmenu-item/deep/.el-submenu .el-menu-item label[data-v-12bb40b8],.leftBar-wrap .cardmenu-item/deep/.el-submenu__title i[data-v-12bb40b8]{color:#c0c4cc}.leftBar-wrap .cardmenu-item .el-menu-item.is-active[data-v-12bb40b8]{color:#fff;background-color:#409eff}.leftBar-wrap .cardmenu-item/deep/.el-menu-item.is-active span[data-v-12bb40b8],.leftBar-wrap .cardmenu-item/deep/.el-submenu .el-menu-item.is-active label[data-v-12bb40b8]{color:#fff}.el-menu.el-menu--popup[data-v-12bb40b8]{background:#020b21;border-radius:4px}.el-menu--popup .el-menu-item[data-v-12bb40b8]{height:40px;line-height:40px}.el-menu--popup .el-menu-item label[data-v-12bb40b8]{display:block;margin-left:-34px;color:#c0c4cc;cursor:pointer}.el-menu--popup .el-menu-item[data-v-12bb40b8]:hover{background-color:#020b21}.el-menu--popup .el-menu-item:hover label[data-v-12bb40b8]{color:#fff}.leftBar-wrap .cardmenu-item/deep/.el-menu-item[data-v-12bb40b8],.leftBar-wrap .cardmenu-item/deep/.el-submenu .el-menu-item[data-v-12bb40b8],.leftBar-wrap .cardmenu-item/deep/.el-submenu__title[data-v-12bb40b8]{height:40px;line-height:40px}.leftBar-wrap .cardmenu-item/deep/li.el-menu-item:hover i[data-v-12bb40b8],.leftBar-wrap .cardmenu-item/deep/li.el-menu-item:hover span[data-v-12bb40b8],.leftBar-wrap .cardmenu-item/deep/li.el-submenu:hover i[data-v-12bb40b8],.leftBar-wrap .cardmenu-item/deep/li.el-submenu:hover span[data-v-12bb40b8]{color:#fff}.leftBar-wrap .cardmenu-item/deep/li.el-submenu .el-menu-item:hover label[data-v-12bb40b8]{color:#fff;cursor:pointer}.leftBar-wrap .el-submenu .el-menu-item-group .el-menu-item[data-v-12bb40b8]{position:relative}.leftBar-wrap .el-submenu .el-menu-item[data-v-12bb40b8]:before{position:absolute;content:"\\25CF";left:35px;top:0;font-size:10px}.leftBar-wrap .el-submenu .el-menu-item[data-v-12bb40b8]:hover:before{color:#fff}.leftBar-wrap .slide-fade-enter-active[data-v-12bb40b8],.leftBar-wrap .slide-fade-leave-active[data-v-12bb40b8]{transition:all .3s ease}.leftBar-wrap .cardmenu-item .menu-icon[data-v-12bb40b8]{width:24px;text-align:center;font-size:14px;vertical-align:middle;display:inline-block;color:#c0c4cc}.leftBar-wrap .cardmenu-item .el-menu-item.is-active .menu-icon[data-v-12bb40b8]{color:#fff}.el-menu-item-group .el-menu-item[data-v-12bb40b8]{height:40px;line-height:40px}',""])},function(e,t){function r(e,t){var r=e[1]||"",a=e[3];if(!a)return r;if(t&&"function"==typeof btoa){var o=n(a);return[r].concat(a.sources.map(function(e){return"/*# sourceURL="+a.sourceRoot+e+" */"})).concat([o]).join("\n")}return[r].join("\n")}function n(e){return"/*# sourceMappingURL=data:application/json;charset=utf-8;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(e))))+" */"}e.exports=function(e){var t=[];return t.toString=function(){return this.map(function(t){var n=r(t,e);return t[2]?"@media "+t[2]+"{"+n+"}":n}).join("")},t.i=function(e,r){"string"==typeof e&&(e=[[null,e,""]]);for(var n={},a=0;a<this.length;a++){var o=this[a][0];"number"==typeof o&&(n[o]=!0)}for(a=0;a<e.length;a++){var i=e[a];"number"==typeof i[0]&&n[i[0]]||(r&&!i[2]?i[2]=r:r&&(i[2]="("+i[2]+") and ("+r+")"),t.push(i))}},t}},function(e,t,r){function n(e){for(var t=0;t<e.length;t++){var r=e[t],n=u[r.id];if(n){n.refs++;for(var a=0;a<n.parts.length;a++)n.parts[a](r.parts[a]);for(;a<r.parts.length;a++)n.parts.push(o(r.parts[a]));n.parts.length>r.parts.length&&(n.parts.length=r.parts.length)}else{for(var i=[],a=0;a<r.parts.length;a++)i.push(o(r.parts[a]));u[r.id]={id:r.id,refs:1,parts:i}}}}function a(){var e=document.createElement("style");return e.type="text/css",p.appendChild(e),e}function o(e){var t,r,n=document.querySelector("style["+h+'~="'+e.id+'"]');if(n){if(m)return b;n.parentNode.removeChild(n)}if(g){var o=d++;n=f||(f=a()),t=i.bind(null,n,o,!1),r=i.bind(null,n,o,!0)}else n=a(),t=l.bind(null,n),r=function(){n.parentNode.removeChild(n)};return t(e),function(n){if(n){if(n.css===e.css&&n.media===e.media&&n.sourceMap===e.sourceMap)return;t(e=n)}else r()}}function i(e,t,r,n){var a=r?"":n.css;if(e.styleSheet)e.styleSheet.cssText=y(t,a);else{var o=document.createTextNode(a),i=e.childNodes;i[t]&&e.removeChild(i[t]),i.length?e.insertBefore(o,i[t]):e.appendChild(o)}}function l(e,t){var r=t.css,n=t.media,a=t.sourceMap;if(n&&e.setAttribute("media",n),v.ssrId&&e.setAttribute(h,t.id),a&&(r+="\n/*# sourceURL="+a.sources[0]+" */",r+="\n/*# sourceMappingURL=data:application/json;base64,"+btoa(unescape(encodeURIComponent(JSON.stringify(a))))+" */"),e.styleSheet)e.styleSheet.cssText=r;else{for(;e.firstChild;)e.removeChild(e.firstChild);e.appendChild(document.createTextNode(r))}}var s="undefined"!=typeof document;if("undefined"!=typeof DEBUG&&DEBUG&&!s)throw new Error("vue-style-loader cannot be used in a non-browser environment. Use { target: 'node' } in your Webpack config to indicate a server-rendering environment.");var c=r(9),u={},p=s&&(document.head||document.getElementsByTagName("head")[0]),f=null,d=0,m=!1,b=function(){},v=null,h="data-vue-ssr-id",g="undefined"!=typeof navigator&&/msie [6-9]\b/.test(navigator.userAgent.toLowerCase());e.exports=function(e,t,r,a){m=r,v=a||{};var o=c(e,t);return n(o),function(t){for(var r=[],a=0;a<o.length;a++){var i=o[a],l=u[i.id];l.refs--,r.push(l)}t?(o=c(e,t),n(o)):o=[];for(var a=0;a<r.length;a++){var l=r[a];if(0===l.refs){for(var s=0;s<l.parts.length;s++)l.parts[s]();delete u[l.id]}}}};var y=function(){var e=[];return function(t,r){return e[t]=r,e.filter(Boolean).join("\n")}}()},function(e,t){e.exports=function(e,t){for(var r=[],n={},a=0;a<t.length;a++){var o=t[a],i=o[0],l=o[1],s=o[2],c=o[3],u={id:e+":"+a,css:l,media:s,sourceMap:c};n[i]?n[i].parts.push(u):r.push(n[i]={id:i,parts:[u]})}return r}},function(e,t){e.exports=function(e,t,r,n,a,o){var i,l=e=e||{},s=typeof e.default;"object"!==s&&"function"!==s||(i=e,l=e.default);var c="function"==typeof l?l.options:l;t&&(c.render=t.render,c.staticRenderFns=t.staticRenderFns,c._compiled=!0),r&&(c.functional=!0),a&&(c._scopeId=a);var u;if(o?(u=function(e){e=e||this.$vnode&&this.$vnode.ssrContext||this.parent&&this.parent.$vnode&&this.parent.$vnode.ssrContext,e||"undefined"==typeof __VUE_SSR_CONTEXT__||(e=__VUE_SSR_CONTEXT__),n&&n.call(this,e),e&&e._registeredComponents&&e._registeredComponents.add(o)},c._ssrRegister=u):n&&(u=n),u){var p=c.functional,f=p?c.render:c.beforeCreate;p?(c._injectStyles=u,c.render=function(e,t){return u.call(t),f(e,t)}):c.beforeCreate=f?[].concat(f,u):[u]}return{esModule:i,exports:l,options:c}}},function(e,t,r){"use strict";var n=r(12),a=r(13),o=r(2);e.exports={formats:o,parse:a,stringify:n}},function(e,t,r){"use strict";var n=r(1),a=r(2),o={brackets:function(e){return e+"[]"},indices:function(e,t){return e+"["+t+"]"},repeat:function(e){return e}},i=Date.prototype.toISOString,l={delimiter:"&",encode:!0,encoder:n.encode,serializeDate:function(e){return i.call(e)},skipNulls:!1,strictNullHandling:!1},s=function e(t,r,a,o,i,l,s,c,u,p,f){var d=t;if("function"==typeof s)d=s(r,d);else if(d instanceof Date)d=p(d);else if(null===d){if(o)return l?l(r):r;d=""}if("string"==typeof d||"number"==typeof d||"boolean"==typeof d||n.isBuffer(d))return l?[f(l(r))+"="+f(l(d))]:[f(r)+"="+f(String(d))];var m=[];if(void 0===d)return m;var b;if(Array.isArray(s))b=s;else{var v=Object.keys(d);b=c?v.sort(c):v}for(var h=0;h<b.length;++h){var g=b[h];i&&null===d[g]||(m=Array.isArray(d)?m.concat(e(d[g],a(r,g),a,o,i,l,s,c,u,p,f)):m.concat(e(d[g],r+(u?"."+g:"["+g+"]"),a,o,i,l,s,c,u,p,f)))}return m};e.exports=function(e,t){var r=e,n=t||{};if(null!==n.encoder&&void 0!==n.encoder&&"function"!=typeof n.encoder)throw new TypeError("Encoder has to be a function.");var i=void 0===n.delimiter?l.delimiter:n.delimiter,c="boolean"==typeof n.strictNullHandling?n.strictNullHandling:l.strictNullHandling,u="boolean"==typeof n.skipNulls?n.skipNulls:l.skipNulls,p="boolean"==typeof n.encode?n.encode:l.encode,f=p?"function"==typeof n.encoder?n.encoder:l.encoder:null,d="function"==typeof n.sort?n.sort:null,m=void 0!==n.allowDots&&n.allowDots,b="function"==typeof n.serializeDate?n.serializeDate:l.serializeDate;if(void 0===n.format)n.format=a.default;else if(!Object.prototype.hasOwnProperty.call(a.formatters,n.format))throw new TypeError("Unknown format option provided.");var v,h,g=a.formatters[n.format];"function"==typeof n.filter?(h=n.filter,r=h("",r)):Array.isArray(n.filter)&&(h=n.filter,v=h);var y=[];if("object"!=typeof r||null===r)return"";var w;w=n.arrayFormat in o?n.arrayFormat:"indices"in n?n.indices?"indices":"repeat":"indices";var x=o[w];v||(v=Object.keys(r)),d&&v.sort(d);for(var j=0;j<v.length;++j){var N=v[j];u&&null===r[N]||(y=y.concat(s(r[N],N,x,c,u,f,h,d,m,b,g)))}return y.join(i)}},function(e,t,r){"use strict";var n=r(1),a=Object.prototype.hasOwnProperty,o={allowDots:!1,allowPrototypes:!1,arrayLimit:20,decoder:n.decode,delimiter:"&",depth:5,parameterLimit:1e3,plainObjects:!1,strictNullHandling:!1},i=function(e,t){for(var r={},n=e.split(t.delimiter,t.parameterLimit===1/0?void 0:t.parameterLimit),o=0;o<n.length;++o){var i,l,s=n[o],c=-1===s.indexOf("]=")?s.indexOf("="):s.indexOf("]=")+1;-1===c?(i=t.decoder(s),l=t.strictNullHandling?null:""):(i=t.decoder(s.slice(0,c)),l=t.decoder(s.slice(c+1))),a.call(r,i)?r[i]=[].concat(r[i]).concat(l):r[i]=l}return r},l=function(e,t,r){if(!e.length)return t;var n,a=e.shift();if("[]"===a)n=[],n=n.concat(l(e,t,r));else{n=r.plainObjects?Object.create(null):{};var o="["===a.charAt(0)&&"]"===a.charAt(a.length-1)?a.slice(1,-1):a,i=parseInt(o,10);!isNaN(i)&&a!==o&&String(i)===o&&i>=0&&r.parseArrays&&i<=r.arrayLimit?(n=[],n[i]=l(e,t,r)):n[o]=l(e,t,r)}return n},s=function(e,t,r){if(e){var n=r.allowDots?e.replace(/\.([^.[]+)/g,"[$1]"):e,o=/(\[[^[\]]*])/,i=/(\[[^[\]]*])/g,s=o.exec(n),c=s?n.slice(0,s.index):n,u=[];if(c){if(!r.plainObjects&&a.call(Object.prototype,c)&&!r.allowPrototypes)return;u.push(c)}for(var p=0;null!==(s=i.exec(n))&&p<r.depth;){if(p+=1,!r.plainObjects&&a.call(Object.prototype,s[1].slice(1,-1))&&!r.allowPrototypes)return;u.push(s[1])}return s&&u.push("["+n.slice(s.index)+"]"),l(u,t,r)}};e.exports=function(e,t){var r=t||{};if(null!==r.decoder&&void 0!==r.decoder&&"function"!=typeof r.decoder)throw new TypeError("Decoder has to be a function.");if(r.delimiter="string"==typeof r.delimiter||n.isRegExp(r.delimiter)?r.delimiter:o.delimiter,r.depth="number"==typeof r.depth?r.depth:o.depth,r.arrayLimit="number"==typeof r.arrayLimit?r.arrayLimit:o.arrayLimit,r.parseArrays=!1!==r.parseArrays,r.decoder="function"==typeof r.decoder?r.decoder:o.decoder,r.allowDots="boolean"==typeof r.allowDots?r.allowDots:o.allowDots,r.plainObjects="boolean"==typeof r.plainObjects?r.plainObjects:o.plainObjects,r.allowPrototypes="boolean"==typeof r.allowPrototypes?r.allowPrototypes:o.allowPrototypes,r.parameterLimit="number"==typeof r.parameterLimit?r.parameterLimit:o.parameterLimit,r.strictNullHandling="boolean"==typeof r.strictNullHandling?r.strictNullHandling:o.strictNullHandling,""===e||null===e||void 0===e)return r.plainObjects?Object.create(null):{};for(var a="string"==typeof e?i(e,r):e,l=r.plainObjects?Object.create(null):{},c=Object.keys(a),u=0;u<c.length;++u){var p=c[u],f=s(p,a[p],r);l=n.merge(l,f,r)}return n.compact(l)}},function(e,t,r){"use strict";var n=function(){var e=this,t=e.$createElement,r=e._self._c||t;return r("div",{staticClass:"left-aside-contain",style:{height:e.asideHeight}},[r("div",{staticClass:"leftBar-wrap"},[r("div",{staticClass:"cardmenu",class:{collapse:e.leftCollapse}},[r("div",{directives:[{name:"show",rawName:"v-show",value:!e.leftCollapse,expression:"!leftCollapse"}],staticClass:"cardtitle"},[r("span",[e._v(e._s(e.leftModuleName))])]),e._v(" "),r("div",{staticClass:"cardmenu-item"},[r("el-menu",{staticClass:"el-menu-vertical-demo cardmenupanel",staticStyle:{"border-right":"0"},attrs:{"default-active":e.selectMenu,"data-path":"/"+e.$route.path,router:!0,"text-color":"#c0c4cc","active-text-color":"#ffffff",collapse:e.leftCollapse,"unique-opened":""},on:{open:e.handleOpen,select:e.handleSelect}},[e._l(e.menuLeftRouter,function(t,n){return[t.level4List.length>0?r("el-submenu",{attrs:{index:n+""}},[r("template",{slot:"title"},[r("i",{class:["iconfont","menu-icon",t.iconUrl]}),e._v(" "),r("span",{attrs:{slot:"title"},slot:"title"},[e._v(e._s(t.menuName))])]),e._v(" "),e._l(t.level4List,function(t,n){return r("el-menu-item",{staticStyle:{"padding-left":"53px"},attrs:{index:t.menuUrl}},[r("label",{attrs:{slot:"title","data-index":e.$route.path==t.menuUrl&&e.$route.path,"data-path":t.menuUrl},slot:"title"},[e._v(e._s(t.menuName))])])})],2):e._e(),e._v(" "),t.level4List.length?e._e():r("el-menu-item",{attrs:{index:t.menuUrl}},[r("i",{class:["iconfont","menu-icon",t.iconUrl]}),e._v(" "),r("span",{attrs:{slot:"title"},slot:"title"},[e._v(e._s(t.menuName))])])]})],2)],1)])])])},a=[],o={render:n,staticRenderFns:a};t.a=o}])});
//# sourceMappingURL=vue-gic-aside-menu.js.map
\ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0">
<title>vue-gic-aside-menu</title>
</head>
<body>
<div id="app"></div>
<!-- <script src="/dist/build.js"></script> -->
<script src="/dist/vue-gic-aside-menu.js"></script>
</body>
</html>
{
"name": "@gic-test/vue-gic-aside-menu",
"description": "vue-gic-aside-menu Plugin",
"author": "fairyly <498745097@qq.com>",
"version": "1.1.43",
"license": "MIT",
"private": false,
"main": "dist/vue-gic-aside-menu.js",
"scripts": {
"dev": "cross-env NODE_ENV=development webpack-dev-server --open --hot",
"build": "cross-env NODE_ENV=production webpack --progress --hide-modules"
},
"dependencies": {
"axios": "^0.18.0",
"vue": "^2.5.11"
},
"browserslist": [
"> 1%",
"last 2 versions",
"not ie <= 8"
],
"devDependencies": {
"babel-core": "^6.26.0",
"babel-loader": "^7.1.2",
"babel-preset-env": "^1.6.0",
"babel-preset-stage-3": "^6.24.1",
"cross-env": "^5.0.5",
"css-loader": "^0.28.7",
"file-loader": "^1.1.4",
"less": "^3.0.4",
"less-loader": "^4.1.0",
"node-sass": "^4.5.3",
"sass-loader": "^6.0.6",
"vue-loader": "^13.0.5",
"vue-template-compiler": "^2.4.4",
"webpack": "^3.6.0",
"webpack-dev-server": "^2.9.1"
}
}
<template>
<div id="app">
<vue-gic-aside-menu ref="leftMenus" :projectName="projectName" :collapseFlag="collapseFlag"></vue-gic-aside-menu>
</div>
</template>
<script>
import vueGicAsideMenu from './lib/vue-gic-aside-menu'
export default {
name: 'app',
data () {
return {
projectName: '', // 当前项目名
// leftRouterOptions: {
collapseFlag: false, // 折叠参数
// 模块名
// leftModulesName: '公众号配置',
// 路由菜单
// leftMenuRouter: [
// {
// "menuCode": "xcx_02",
// "menuName": "主题设置",
// "project": "gic-web",
// "menuUrl": "themeSetting",
// "target": 0,
// "iconUrl": "icon-shequ-zhutifenxiang",
// "parentCode": "xcx_01",
// "isRouter": 1,
// "level": 3,
// "level4List": []
// },
// {
// "menuCode": "xcx_03",
// "menuName": "导航设置",
// "project": "gic-web",
// "menuUrl": "navSetting",
// "target": 0,
// "iconUrl": "icon-daohang-",
// "parentCode": "xcx_01",
// "isRouter": 1,
// "level": 3,
// "level4List": []
// },
// {
// "menuCode": "xcx_04",
// "menuName": "自定义页面",
// "project": "gic-web",
// "menuUrl": "custom",
// "target": 0,
// "iconUrl": "icon-icon_zidingyiyemianshezhi",
// "parentCode": "xcx_01",
// "isRouter": 1,
// "level": 3,
// "level4List": []
// },
// {
// "menuCode": "xcx_05",
// "menuName": "会员功能页面",
// "project": "gic-web",
// "menuUrl": "",
// "target": 0,
// "iconUrl": "icon-huiyuan-",
// "parentCode": "xcx_01",
// "isRouter": 1,
// "level": 3,
// "level4List": [
// {
// "menuCode": "xcx_06",
// "menuName": "会员体系",
// "project": "gic-web",
// "menuUrl": "member",
// "target": 0,
// "iconUrl": "",
// "parentCode": "xcx_05",
// "isRouter": 1,
// "level": 4,
// "level4List": null
// },
// {
// "menuCode": "xcx_07",
// "menuName": "会员中心",
// "project": "gic-web",
// "menuUrl": "membercenter",
// "target": 0,
// "iconUrl": "",
// "parentCode": "xcx_05",
// "isRouter": 1,
// "level": 4,
// "level4List": null
// }
// ]
// }
// ]
// },
}
},
components: {
vueGicAsideMenu
},
methods: {
// 处理路由跳转
// toLeftRouterView(val) {
// var that = this;
// // 模拟检查数据
// console.log(val);
// that.$router.push({
// path: val
// })
// }
}
}
</script>
<style lang="scss">
* {
margin: 0;
padding: 0;
}
</style>
import axios from 'axios';
import qs from 'qs';
axios.defaults.timeout = 10000;
let base = "http://192.168.1.164:8282/gic/";
const timeout = 10000;
let token = ''//sessionStorage.getItem('user');
/*
*
* 统一 get 请求方法
* @url: 请求的 url
* @params: 请求带的参数
* @header: 带 token
*
*/
export const getRequest = (url, params) => {
return axios({
method: 'get',
url: `${base}${url}`,
data: {},
params: params,
headers: {'content-type': 'application/x-www-form-urlencoded'},// "token": token
});
}
import vueGicAsideMenu from './vue-gic-aside-menu.vue' // 导入组件
const vueGicAside = {
install(Vue, options) {
Vue.component(vueGicAsideMenu.name, vueGicAsideMenu) // vueGicAsideMenu.name 组件的name属性
// 类似通过 this.$xxx 方式调用插件的 其实只是挂载到原型上而已
// Vue.prototype.$xxx // 最终可以在任何地方通过 this.$xxx 调用
// 虽然没有明确规定用$开头 但是大家都默认遵守这个规定
}
}
if (typeof window !== 'undefined' && window.Vue) {
window.Vue.use(vueGicAside);
}
export default vueGicAside
// export {
// vueGicAsideMenu
// }
<template>
<div class="left-aside-contain" :style="{height: asideHeight}">
<div class="leftBar-wrap" >
<div class="cardmenu" :class="{collapse: leftCollapse}">
<div class="cardtitle" v-show="!leftCollapse">
<span>{{leftModuleName}}</span>
</div>
<div class="cardmenu-item">
<el-menu :default-active="selectMenu" :data-path="'/' + $route.path" style="border-right: 0;" class="el-menu-vertical-demo cardmenupanel" :router="true" text-color="#c0c4cc" active-text-color="#ffffff" :collapse="leftCollapse" unique-opened @open="handleOpen" @select="handleSelect">
<!--:default-openeds="defaultSub"-->
<template v-for="(menuItem,index) in menuLeftRouter" >
<el-submenu :index="index+''" v-if="menuItem.level4List.length>0">
<template slot="title" >
<i :class="['iconfont','menu-icon',menuItem.iconUrl]"></i>
<span slot="title">{{menuItem.menuName}}</span>
</template>
<!-- <el-menu-item-group > -->
<el-menu-item v-for="(childMenu,index) in menuItem.level4List" :index="childMenu.menuUrl" style="padding-left: 53px;"><label slot="title" :data-index="$route.path==childMenu.menuUrl? $route.path:false" :data-path="childMenu.menuUrl">{{childMenu.menuName}}</label></el-menu-item>
<!-- </el-menu-item-group> -->
</el-submenu>
<el-menu-item :index="menuItem.menuUrl" v-if="!menuItem.level4List.length">
<i :class="['iconfont','menu-icon',menuItem.iconUrl]"></i>
<span slot="title">{{menuItem.menuName}}</span>
</el-menu-item>
</template>
</el-menu>
</div>
</div>
</div>
</template>
<script>
// import { getRequest } from './api';
import qs from 'qs';
export default {
name: 'vue-gic-aside-menu',
props: ['collapseFlag','projectName'],//'leftMenuRouter','leftModulesName',
data () {
return {
repProjectName: 'gic-web', // 项目名
// 高度
asideHeight: '0px',
pathName: '', // 路由名
leftCollapse: false,// 是否收起左侧
leftModuleName: '',
// defaultSub: ['1','2','3','4','5','6','7','8','9'], // 默认打开子菜单
menuLeftRouter: [
],
// 获取 location origin
baseUrl: '',
//已选菜单
selectMenu: '',
}
},
beforeMount() {
var that = this
var host = window.location.origin;
console.log("当前host:",host)
if (host.indexOf('localhost') != '-1') {
that.baseUrl = 'http://gicdev.demogic.com';
}else {
that.baseUrl = host
}
},
methods: {
handleOpen(key, keyPath) {
// console.log(key, keyPath);
},
handleSelect(key, keyPath){
var that = this
console.log(key, keyPath);
that.selectMenu = key
},
// 设置新数据
setNewData(newData) {
var that = this;
// 处理成需要的路由
// var list = [],lists = [];
newData.forEach(function(ele,index){
if (ele.level4List==null || ele.level4List.length==0) {
// 设置 url
ele.menuUrl = '/'+ ele.menuUrl;
}else {
ele.level4List.forEach(function(el,key){
// 设置 url
el.menuUrl = '/'+ el.menuUrl;
})
}
})
// console.log("左侧list:",list)
// list.forEach(function(ele,index){
// if(ele.parentCode == 0){
// ele.children = [];
// }
//
// lists.forEach(function(el,ind) {
// if(el.parentCode == ele.menuCode ){
// // console.log(index,ind)
// ele.children.push(el)
// }
// })
// })
console.log("处理后的左侧菜单 list:",newData)
that.menuLeftRouter = newData;
},
// 触发父组件路由
toRouter(path) {
var that = this;
that.$emit('toLeftRouterView', '/'+path)
},
// 刷新路由
refreshRoute() {
var that = this
//获取项目名 pathname (路由的hash)
that.routePathName = window.location.hash.split('/')[1];
if (that.routePathName.indexOf('?')!= -1) {
that.routePathName = that.routePathName.split('?')[0]
}
if (that.routePathName.indexOf('/')!= -1) {
that.routePathName = that.routePathName.split('/')[0]
}
console.log("routePathname:",that.routePathName)
that.pathName = that.routePathName
that.getLeftMenu()
},
// 获取左侧菜单
getLeftMenu() {
var that = this
var para = {
project: that.repProjectName,
path: that.pathName,
requestProject: that.repProjectName
}
that.axios.post(that.baseUrl+'/api-auth/get-current-memu-data',qs.stringify(para))
.then((res) => {
// console.log(res,res.data,res.data.errorCode)
var resData = res.data
if (resData.errorCode == 0) {
if (!resData.result) {
console.log("resData.result: ",resData.result)
return;
}
that.leftModuleName = resData.result.level2.menuName;
that.setNewData(resData.result.leftMenu)
if (!!resData.result.level4) {
// 设置选中menu
that.selectMenu = '/'+resData.result.level4.menuUrl
return;
}
if (!!resData.result.level3) {
// 设置选中menu
that.selectMenu = '/'+resData.result.level3.menuUrl
}
// sessionStorage.setItem('activeHead',resData.result.level2.menuCode)
return;
}
that.$message.error({
duration: 1000,
message: resData.message
})
})
.catch(function (error) {
console.log(error);
// that.toLogin()
that.$message.error({
duration: 1000,
message: error.message
})
});
}
},
watch: {
$route: {
handler: function(val, oldVal){
console.log("左侧菜单插件获取当前路由:",val);
},
// 深度观察监听
deep: true
},
// leftMenuRouter: function(newData,oldData){
// var that = this;
// that.setNewData(newData)
// },
// moduleName
// leftModulesName: function(newData,oldData){
// var that = this;
// that.leftModuleName = newData;
// },
collapseFlag: function(newData,oldData){
var that = this;
// console.log("左侧新数据:",newData,oldData)
that.leftCollapse = newData;
},
// defaultSub: function(newData,oldData){
// var that = this;
// console.log("左侧新数据:",newData,oldData)
// that.defaultSub = newData;
// },
projectName: function(newData,oldData){
var that = this;
// console.log("新数据:",newData,oldData)
that.repProjectName = newData || 'gic-web';
},
},
/* 接收数据 */
mounted(){
console.log("传递的左侧菜单参数:",this.projectName,this.$route)
var that = this;
// 项目名
that.repProjectName = that.projectName || 'gic-web';
// 获取高度
that.asideHeight = (document.documentElement.clientHeight || document.body.clientHeight) - 64 +'px';
//获取项目名 pathname (路由的hash)
that.pathName = window.location.hash.split('/')[1];
if (that.pathName.indexOf('?')!= -1) {
that.pathName = that.pathName.split('?')[0]
}
console.log("pathname:",that.pathName)
// 获取菜单
that.getLeftMenu();
// 设置默认打开子菜单
// that.defaultSub = [];
// that.defaultSub.push(this.$route.path);
// console.log("that.defaultSub:",that.defaultSub)
// 模块名字
// that.leftModuleName = that.leftModulesName;
//折叠参数
that.leftCollapse = that.collapseFlag;
// that.setNewData(that.leftMenuRouter)
},
}
</script>
<style lang="less" scoped>
.attention-wrap{
.item-label{
font-size: 14px;
color: #606266;
margin-bottom: 30px;
span{
display: inline-block;
width: 80px;
}
}
}
.left-aside-contain {
/*width: 200px;*/
display: inline-block;
/*overflow: auto;
overflow-x: hidden;*/
&::-webkit-scrollbar{
width: 0;
height: 0;
}
/deep/ .el-submenu .el-submenu__title:hover {
background-color: #020b21;
}
}
.leftBar-wrap /deep/ {
height: 100%;
display: inline-block;
overflow: auto;
&::-webkit-scrollbar{
width: 0;
height: 0;
}
.cardmenu{
flex: 0 0 200px;
width: 200px;
height: 100%;
overflow-y: auto;
overflow-x: hidden;
background-color: #020b21;
cursor: pointer;
transition: all .2s ease;
&::-webkit-scrollbar{
width: 0;
height: 0;
}
}
.collapse{
transition: all .3s ease;
flex: 0 0 64px;
width: 64px;
/*transform: translateX(-8px);*/
overflow: hidden;
}
.cardtitle{
font-size: 20px;
color: #fff;
padding-left: 20px;
height: 56px;
line-height: 56px;
}
/deep/ .el-submenu__title:hover {
background-color: #020b21;
}
}
.leftBar-wrap .el-menu .el-menu-item,.el-menu .el-submenu{
background: #020b21;
}
.leftBar-wrap {
/deep/ .el-submenu__title:hover {
background-color: #020b21;
}
}
.leftBar-wrap .cardmenu-item /deep/ .el-menu-item-group .el-menu-item-group__title{
background-color: #020b21;
display: none;
}
.leftBar-wrap .cardmenu-item /deep/ .el-submenu__title i {
color: #c0c4cc;
}
.leftBar-wrap .cardmenu-item /deep/ .el-menu-item span {
color: #c0c4cc;
}
.leftBar-wrap .cardmenu-item /deep/ .el-submenu .el-menu-item label {
color: #c0c4cc;
}
.leftBar-wrap .cardmenu-item .el-menu-item.is-active {
color: #fff;
background-color: #409EFF;
}
.leftBar-wrap .cardmenu-item /deep/ .el-menu-item.is-active span {
color: #fff;
}
.leftBar-wrap .cardmenu-item /deep/ .el-submenu .el-menu-item.is-active label {
color: #fff;
}
.el-menu.el-menu--popup {
background: #020b21;
border-radius: 4px;
}
.el-menu--popup .el-menu-item {
height: 40px;
line-height: 40px;
}
.el-menu--popup .el-menu-item label{
display: block;
margin-left: -34px;
color: #c0c4cc;
cursor: pointer;
}
.el-menu--popup .el-menu-item:hover {
background-color: #020b21;
}
.el-menu--popup .el-menu-item:hover label {
color: #fff;
}
.leftBar-wrap .cardmenu-item /deep/ .el-submenu__title,.leftBar-wrap .cardmenu-item /deep/ .el-menu-item,.leftBar-wrap .cardmenu-item /deep/ .el-submenu .el-menu-item{
height: 40px;
line-height: 40px;
}
.leftBar-wrap .cardmenu-item /deep/ li.el-menu-item:hover i{
/*background-color: #409EFF;*/
color: #fff;
}
.leftBar-wrap .cardmenu-item /deep/ li.el-menu-item:hover span{
/*background-color: #409EFF;*/
color: #fff;
}
.leftBar-wrap .cardmenu-item /deep/ li.el-submenu:hover i{
/*background-color: #409EFF;*/
color: #fff;
}
.leftBar-wrap .cardmenu-item /deep/ li.el-submenu:hover span{
/*background-color: #409EFF;*/
color: #fff;
}
.leftBar-wrap .cardmenu-item /deep/ li.el-submenu .el-menu-item:hover label{
/*background-color: #409EFF;*/
color: #fff;
cursor: pointer;
}
.leftBar-wrap .el-submenu .el-menu-item-group .el-menu-item {
position: relative;
}
.leftBar-wrap .el-submenu .el-menu-item::before{
position: absolute;
content: '●';
left: 35px;
top: 0px;
font-size: 10px;
/* color: #fff;*/
}
.leftBar-wrap .el-submenu .el-menu-item:hover::before{
color: #fff;
}
.leftBar-wrap .slide-fade-enter-active {
transition: all .3s ease;
}
.leftBar-wrap .slide-fade-leave-active {
transition: all .3s ease;
}
.leftBar-wrap .cardmenu-item .menu-icon{
/*margin-right: 5px;*/
width: 24px;
text-align: center;
font-size: 14px;
vertical-align: middle;
display: inline-block;
color: #c0c4cc;
}
.leftBar-wrap .cardmenu-item .el-menu-item.is-active .menu-icon {
color: #fff;
}
.el-menu-item-group {
.el-menu-item{
height: 40px;
line-height: 40px;
}
}
</style>
import Vue from 'vue'
import App from './App.vue'
new Vue({
el: '#app',
render: h => h(App)
})
var path = require('path')
var webpack = require('webpack')
module.exports = {
// entry: './src/main.js',
entry: './src/lib/index.js',
output: {
path: path.resolve(__dirname, './dist'),
publicPath: '/dist/',
// filename: 'build.js',
filename: 'vue-gic-aside-menu.js',
library: 'vue-gic-aside-menu',
libraryTarget: 'umd',
umdNamedDefine: true
},
module: {
rules: [
{
test: /\.css$/,
use: [
'vue-style-loader',
'css-loader'
],
},
{
test: /\.scss$/,
use: [
'vue-style-loader',
'css-loader',
'sass-loader'
],
},
{
test: /\.sass$/,
use: [
'vue-style-loader',
'css-loader',
'sass-loader?indentedSyntax'
],
},
{
test: /\.vue$/,
loader: 'vue-loader',
options: {
loaders: {
// Since sass-loader (weirdly) has SCSS as its default parse mode, we map
// the "scss" and "sass" values for the lang attribute to the right configs here.
// other preprocessors should work out of the box, no loader config like this necessary.
'scss': [
'vue-style-loader',
'css-loader',
'sass-loader'
],
'sass': [
'vue-style-loader',
'css-loader',
'sass-loader?indentedSyntax'
]
}
// other vue-loader options go here
}
},
{
test: /\.js$/,
loader: 'babel-loader',
exclude: /node_modules/
},
{
test: /\.(png|jpg|gif|svg)$/,
loader: 'file-loader',
options: {
name: '[name].[ext]?[hash]'
}
}
]
},
resolve: {
alias: {
'vue$': 'vue/dist/vue.esm.js'
},
extensions: ['*', '.js', '.vue', '.json']
},
devServer: {
historyApiFallback: true,
noInfo: true,
overlay: true
},
performance: {
hints: false
},
devtool: '#eval-source-map'
}
if (process.env.NODE_ENV === 'production') {
module.exports.devtool = '#source-map'
// http://vue-loader.vuejs.org/en/workflow/production.html
module.exports.plugins = (module.exports.plugins || []).concat([
new webpack.DefinePlugin({
'process.env': {
NODE_ENV: '"production"'
}
}),
new webpack.optimize.UglifyJsPlugin({
sourceMap: true,
compress: {
warnings: false
}
}),
new webpack.LoaderOptionsPlugin({
minimize: true
})
])
}
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