{"id":6798,"date":"2018-08-01T21:27:42","date_gmt":"2018-08-01T13:27:42","guid":{"rendered":"https:\/\/sdeno.com\/?p=6798"},"modified":"2020-05-08T16:42:15","modified_gmt":"2020-05-08T08:42:15","slug":"vue-cli%e8%84%9a%e6%89%8b%e6%9e%b6","status":"publish","type":"post","link":"https:\/\/sdeno.com\/?p=6798","title":{"rendered":"vue-cli\u811a\u624b\u67b6"},"content":{"rendered":"<p><span style=\"color: #ff0000;\">\u5b89\u88c5<\/span><\/p>\n<p>\u6309\u7167\u4ee5\u4e0b\u987a\u5e8f\u6267\u884c<\/p>\n<pre>npm install -g cnpm --registry=https:\/\/registry.npm.taobao.org\r\ncnpm install -g vue-cli (\u7528npm\u4e0d\u884c\uff0c\u56e0\u4e3a\u8981\u4ece\u8c37\u6b4c\u4e0b\u8f7d)\r\nvue init webpack vuetest \/\/\u5728\u5f53\u524d\u76ee\u5f55\u751f\u6210vuetest\u76ee\u5f55\u7684vue-cli\u9879\u76ee\r\ncd vuetest\r\nnpm install\r\nnpm run dev<\/pre>\n<p>&nbsp;<\/p>\n<p>\u5c40\u90e8\u5b89\u88c5\uff1a<\/p>\n<pre>npm install vue-cli \/\/\u5c40\u90e8\u5b89\u88c5\r\nnpx vue \/\/\u5f53\u524d\u76ee\u5f55\u4f7f\u7528\u8981\u4f7f\u7528\u52a0\u4e0anpx\uff0c\u624d\u80fd\u8c03\u7528vue\u547d\u4ee4\r\n\r\nnpx vue init webpack vuetest \/\/\u5728\u5f53\u524d\u76ee\u5f55\u751f\u6210vuetest\u76ee\u5f55\u7684vue-cli\u9879\u76ee\r\ncd vuetest\r\nnpm install\r\nnpm run dev<\/pre>\n<p>\u6210\u529f\u540e\u8bbf\u95ee\uff1ahttp:\/\/localhost:8080\/#\/<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #ff0000;\">\u5b50\u8def\u7531<\/span><\/p>\n<p>(\u7c7b\u4f3c\u53ef\u4ee5\u521b\u5efaadmin\u540e\u53f0\u7ba1\u7406)<\/p>\n<pre>import Adminbig from '@\/components\/Adminbig' \/\/\u91cc\u9762\u8981\u52a0\u4e0a&lt;router-view\/&gt;\r\nimport Admin from '@\/components\/Admin'\r\nimport Bb from '@\/components\/Bb'<\/pre>\n<p>&nbsp;<\/p>\n<p>\u7f16\u8f91\uff1arouter\/index.js<\/p>\n<pre>export default new Router({\r\n  mode:'history', \/\/\u53ef\u4ee5\u53bb\u9664url\u4e2d\u7684#,\u4e14\u53ef\u4ee5\u524d\u8fdb\u3001\u540e\u9000\uff0c\u4f46\u662f\u5bf9\u6d4f\u89c8\u5668\u7684\u8981\u6c42\u9ad8\r\n  routes: [\r\n    {  \r\n      path: '\/admin',\r\n      name: 'Adminbig',\r\n      component: {\r\n        Adminbig:Adminbig, \r\n        viewB:Bb \/\/&lt;router-view name=\"viewB\"&gt; &lt;\/router-view&gt;\r\n      },\r\n      children:[\r\n        {\r\n          path: 'index',\r\n          component: Admin\r\n        }\r\n      ]\r\n    },\r\n    {\r\n      path: '\/',\r\n      name: 'HelloWorld',\r\n      component: HelloWorld\r\n    }\r\n  ]\r\n})<\/pre>\n<p>\u8bbf\u95ee\uff1ahttp:\/\/localhost:8080\/admin\/index<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #ff0000;\">\u79fb\u9664url\u4e2d#<\/span><br \/>\n\u9ed8\u8ba4\u5b89\u88c5vue-cli\u4e2durl\u662f\u4f1a\u5e26\u6709#\u7684<\/p>\n<pre>export default new Router({\r\n  mode:'history', \/\/\u53ef\u4ee5\u53bb\u9664url\u4e2d\u7684#,\u4e14\u53ef\u4ee5\u524d\u8fdb\u3001\u540e\u9000\uff0c\u4f46\u662f\u5bf9\u6d4f\u89c8\u5668\u7684\u8981\u6c42\u9ad8\r\n  routes: [\r\n    {\r\n     path: '\/',\r\n     name: 'HelloWorld',\r\n     component: HelloWorld\r\n    },\r\n    {\r\n     path: '\/123\/:color',\r\n     name: 'Diy',\r\n     component: Diy\r\n    }\r\n  ]\r\n})<\/pre>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #ff0000;\">get\u4f20\u53c2<\/span><\/p>\n<pre>{\r\n path: '\/123\/:color',\r\n name: 'Diy',\r\n component: Diy\r\n}<\/pre>\n<pre>&lt;button @click=\"get_param\"&gt;\u83b7\u53d6\u53c2\u6570&lt;\/button&gt;\r\n&lt;p&gt;\u4e5f\u53ef\u4ee5\u5728\u9875\u9762\u6253\u5370\u53c2\u6570{{$route.params.color}}&lt;\/p&gt;\r\nmethods:{\r\n  get_param : function () {\r\n     console.log(this.$route.params); \/\/{color: \"dgfg\"}\r\n  }\r\n}<\/pre>\n<p>http:\/\/localhost:8080\/#\/123\/dgfg<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #ff0000;\">post\u63d0\u4ea4<\/span><\/p>\n<p>vue-lic\u662f\u4e3b\u5f20\u4f7f\u7528\u524d\u540e\u7aef\u5206\u79bb\u7684\uff0c\u540e\u53f0\u5e76\u6ca1\u6709\u50cfkoa\u3001express\u90a3\u6837\u80fd\u63a5\u6536post\u6570\u636e\u7684\u8def\u7531\u3002<\/p>\n<p>\u6240\u4ee5\u53ef\u4ee5\u4f7f\u7528vue-source\u3001axios\u7c7b\u4f3c\u7684\u6a21\u5757\u53bbpost\u8bf7\u6c42\u63a5\u53e3\u7136\u540e\u63d0\u4ea4\u6570\u636e\u3002<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #ff0000;\">\u663e\u793a\u8def\u7531\u7684\u5185\u5bb9<\/span><\/p>\n<pre>&lt;router-view\/&gt;\r\n\u6216\u8005\r\n&lt;router-view&gt;&lt;router-view\/&gt;<\/pre>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #ff0000;\">\u94fe\u63a5<\/span><\/p>\n<pre>&lt;router-link to=\"\/123\"&gt;\u65b0\u95fb&lt;\/router-link&gt;\r\n&lt;router-link :to=\"{path:'123',param:{color:'\u53c2\u65701'}}\"&gt;\u65b0\u95fb&lt;\/router-link&gt; \/\/\u52a8\u6001\u94fe\u63a5\r\n&lt;router-link :to=\"{name:'\u8def\u7531\u7684\u547d\u540d'}\"&gt;\u65b0\u95fb&lt;\/router-link&gt;\r\n&lt;router-link :to=\"{path:'123'}\" tag='li'&gt;\u65b0\u95fb&lt;\/router-link&gt; \/\/ &lt;li&gt;\u65b0\u95fb&lt;\/li&gt;\r\n&lt;router-link to=\"\/123\" replace&gt;\u65b0\u95fb&lt;\/router-link&gt; \/\/History\u6a21\u5f0f\u5c31\u4e0d\u80fd\u4f7f\u7528\u524d\u8fdb\u540e\u9000\u4e86<\/pre>\n<p>\u6216\u8005\u7528js\u63a7\u5236\u8df3\u8f6c<\/p>\n<pre>&lt;button @click=\"xx\"&gt;&lt;\/button&gt;\r\n\r\nexport default {\r\n  methods:{\r\n    xx:function(){\r\n      this.$router.push('\/123');\r\n    }\r\n }\r\n}\r\n\r\nrouter.beforEach(route.push('123'))<\/pre>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #ff0000;\">\u81ea\u52a8\u8df3\u8f6c \u91cd\u5b9a\u5411302<\/span><\/p>\n<pre>export default new Router({\r\n  routes: [\r\n   {\r\n     path: '\/admin',\r\n     name: 'Adminbig',\r\n     component: Adminbig,\r\n     children:[\r\n       {\r\n         path: 'index',\r\n         component: Admin\r\n       }\r\n     ]\r\n   },\r\n   {\r\n      path:'\/123\/:color',\r\n      redirect:'\/admin\/index' \/\/ \u8bbf\u95ee\/123\/:color\u9875\u9762\u65f6\u5019\u5c31\u81ea\u52a8\u8df3\u8f6c\u5230\/admin\/index\r\n   },\r\n   {\r\n      path: '\/123\/:color',\r\n      name: 'Diy',\r\n      component: Diy\r\n   }\r\n ]\r\n})<\/pre>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #ff0000;\">\u52a8\u753b<\/span><\/p>\n<pre>&lt;transition name=\"fade\"&gt;\r\n &lt;keep-alive&gt; \/\/\u52a8\u753b\u7f13\u5b58,\u907f\u514d\u4e0b\u53bb\u53c8\u91cd\u65b0\u6e32\u67d3\u8017\u8d44\u6e90\r\n &lt;router-view&gt;&lt;\/router-view&gt;\r\n &lt;\/keep-alive&gt;\r\n&lt;\/transition&gt;<\/pre>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #ff0000;\">vuex\u72b6\u6001\u7ba1\u7406<\/span><\/p>\n<p>\u4f8b\u5982\uff1a\u7528\u6237\u767b\u5f55\u72b6\u6001\uff0c\u540c\u4e00\u4e2a\u9875\u9762\u5f88\u591a\u5730\u65b9\u9700\u8981\u8c03\u7528\u5230\uff0c\u8fdb\u884c\u903b\u8f91\u5224\u65ad\u3002<br \/>\n\u6216\u8005\u7528\u6237\u5728\u9000\u51fa\u53c8\uff0c\u5176\u4ed6\u5730\u65b9\u4e5f\u9700\u8981\u540c\u6b65\u66f4\u65b0<\/p>\n<p>\u6bcf\u4e2a\u7ec4\u4ef6\u66f4\u65b0\u90fd\u8981\u901a\u77e5\u4e00\u4e0bvuex\uff0cvuex\u63a5\u6536\u5230\u540e\uff0c\u53c8\u7edf\u4e00\u901a\u77e5\u6240\u6709\u7684\u7ec4\u4ef6\u3002<\/p>\n<pre>\/\/\u7f16\u8f91 main.js\r\n\r\nimport Vuex from 'vuex'\r\n\r\nVue.config.productionTip = false\r\nVue.use(Vuex)\r\n\r\nvar store=new Vuex.Store({\r\n state:{\r\n   a:111\r\n }\r\n})\r\n\r\n\r\nnew Vue({\r\n el: '#app',\r\n router,\r\n store,\r\n components: { Appvv },\r\n template: '&lt;Appvv\/&gt;'\r\n})\r\n\r\n<\/pre>\n<p>\u53ef\u4ee5\u5728\u4efb\u610f\u9875\u9762\u8c03\u7528\uff1a{{$route.params.color}}<\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #ff0000;\">404\u9875\u9762<\/span><\/p>\n<pre>import HelloWorld404 from '@\/components\/404'\r\n\r\nexport default new Router({\r\n routes: [\r\n   {\r\n    path: '*',\r\n    name: 'HelloWorld',\r\n    component: HelloWorld404\r\n   }\r\n ]\r\n})<\/pre>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #ff0000;\">\u5355\u72ec\u4fee\u6539\u67d0\u4e2a\u9875\u9762\u5185\u5bb9<\/span><\/p>\n<p>\u4f8b\u5982\u4fee\u6539\u67d0\u4e2a\u9875\u9762\u7684title<\/p>\n<pre>\/\/\u7f16\u8f91main.js\r\n\r\nrouter.beforeEach((to, from, next) =&gt; {\r\n \/* \u9875\u9762\u8981\u663e\u793a\u51fa\u6765\u524d\uff0c\u5148\u628a\u6570\u636e\u586b\u5145\u8fdbdiv\u4e2d\u540e\u5728\u5c55\u793a\u51fa\u9875\u9762 *\/\r\n window.document.title=to.meta.title;\r\n next();\r\n})\r\n\r\n\r\nnew Vue({\r\n el: '#app',\r\n router,\r\n components: { App },\r\n template: '&lt;App\/&gt;'\r\n})<\/pre>\n<p>&nbsp;<\/p>\n<pre>\/\/\u7f16\u8f91router\u76ee\u5f55\u7684index.js\r\nexport default new Router({\r\n routes: [\r\n  {\r\n    path: '\/',\r\n    name: 'HelloWorld',\r\n    component: HelloWorld,\r\n    meta:{\r\n      title:'\u81ea\u5b9a\u4e49\u5185\u5bb9'\r\n    }\r\n  },\r\n  {\r\n    path: '\/123',\r\n    name: 'HelloWorld',\r\n    component: HelloWorld123,\r\n    meta:{\r\n      title:'\u5185\u5bb9123'\r\n    }\r\n  },\r\n  {\r\n    path: '*',\r\n    name: 'HelloWorld',\r\n    component: HelloWorld404\r\n   }\r\n ]\r\n})<\/pre>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #ff0000;\">\u6570\u636e\u5e93\u4ea4\u4e92<\/span><\/p>\n<pre>\/\/\u7f16\u8f91main.js\r\nimport VueResource from 'vue-resource'\r\nVue.use(VueResource)<\/pre>\n<p>&nbsp;<\/p>\n<pre>\/\/\u7f16\u8f91 components\/HelloWorld.vue\r\n\r\nimport Mock from 'mockjs'\r\n\r\nexport default {\r\n  name: 'HelloWorld',\r\n  data () {\r\n    return {\r\n      msg: 'Welcome to Your Vue.js App',\r\n      json:[]\r\n    }\r\n  },\r\n  mounted:function(){\r\n\r\n    var data = Mock.mock('\/home',{\r\n     'list|1-10': [{\r\n       'id|+1': 1\r\n     }]\r\n    });\r\n\r\n\r\n    this.$http.get('\/home').then((res)=&gt;{\r\n      console.log(res)\r\n    })\r\n\r\n },\r\n methods:{\r\n    get_param : function () {\r\n      console.log(this.$route.params);\r\n    }\r\n }\r\n}\r\n\r\n<\/pre>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #ff0000;\">cookie<\/span><\/p>\n<pre>cnpm install vue-cookies --save\r\n\r\n\r\n\/\/\u7f16\u8f91main.js\r\nimport VueCookies from 'vue-cookies'\r\n\r\nVue.use(VueCookies)\r\n\r\n\/\/\u7f16\u8f91 components\/HelloWorld.vue\r\n\r\n\r\nmounted:function(){\r\n this.$cookies.set(\"token1\",\"GH1.1.1689020474.1484362313\",\"1MIN\");\r\n}\r\n\r\n\r\n\u53d6\u503c\uff1a\r\nthis.$cookies.get(keyName)\r\nthis.$cookies.keys() \/\/ \u53d6\u6240\u6709\u503c\uff0c\u8fd4\u56de\u6570\u7ec4\r\n\r\n\u5224\u65ad\u503c\u662f\u5426\u5b58\u5728\r\nthis.$cookies.isKey(keyName) \/\/ return false or true\r\n\r\n\r\n\u5220\u9664\uff1a\r\nthis.$cookies.remove(keyName [, path [, domain]])\r\n\r\n\u65f6\u95f4\u8fc7\u671f\uff1a\r\nthis.$cookies.set(\"default_unit_second\",\"input_value\",60 + 30); 1\u520630\u79d2\u8fc7\u671f\r\nthis.$cookies.set(\"token\",\"GH1.1.1689020474.1484362313\",\"60s\");\r\n60s\r\n30MIN\r\n16h\r\n24d\r\n4m\r\n3y\r\n\r\n\r\n\u5176\u4ed6\uff1a\r\nthis.$cookies.set(\"use_path_argument\",\"value\",\"1d\",\"\/app\",\"domain.com\",true);\r\n\r\n\/\/ set path\r\nthis.$cookies.set(\"use_path_argument\",\"value\",\"1d\",\"\/app\");\r\n\r\n\/\/ set domain\r\nthis.$cookies.set(\"use_path_argument\",\"value\",null, null, \"domain.com\"); \/\/ default 1 day after,expire\r\n\r\n\/\/ set secure\r\nthis.$cookies.set(\"use_path_argument\",\"value\",null, null, null,true);\r\n\r\nhttps:\/\/www.npmjs.com\/package\/vue-cookies\r\n\r\n<\/pre>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><span style=\"color: #ff0000;\">session <\/span><\/p>\n<pre>\u6d4f\u89c8\u5668\u672c\u5730session storage\uff0c\u6d4f\u89c8\u5668\u5173\u95ed\u503c\u5c31\u4f1a\u5220\u9664\r\n\r\ncnpm install vue-session --save-dev\r\n\r\n\r\n\/\/\u7f16\u8f91main.js\r\n\r\nimport VueSession from 'vue-session'\r\nVue.use(VueSession)\r\n\r\nthis.$session.getAll(), returns all data stored in the Session.\r\nthis.$session.set(key,value), sets a single value to the Session.\r\nthis.$session.get(key), returns the value attributed to the given key.\r\nthis.$session.start(), initializes a session with a 'session-id'. If you attempt to save a value without having started a new session, the plugin will automatically start a new session.\r\nthis.$session.exists(), checks whether a session has been initialized or not.\r\nthis.$session.has(key), checks whether the key exists in the Session\r\nthis.$session.remove(key), removes the given key from the Session\r\nthis.$session.clear(), clear all keys in the Session, except for 'session-id', keeping the Session alive\r\nthis.$session.destroy(), destroys the Session\r\nthis.$session.id(), returns the 'session-id'\r\nthis.$session.renew(session_id), allows a user to renew a previous session by manually inputting the session_id<\/pre>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<p><audio style=\"display: none;\" controls=\"controls\"><\/audio><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u5b89\u88c5 \u6309\u7167\u4ee5\u4e0b\u987a\u5e8f\u6267\u884c npm install -g cnpm &#8211;registry=https:\/\/regi [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[11],"tags":[],"class_list":["post-6798","post","type-post","status-publish","format-standard","hentry","category-11"],"_links":{"self":[{"href":"https:\/\/sdeno.com\/index.php?rest_route=\/wp\/v2\/posts\/6798","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/sdeno.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/sdeno.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/sdeno.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/sdeno.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=6798"}],"version-history":[{"count":0,"href":"https:\/\/sdeno.com\/index.php?rest_route=\/wp\/v2\/posts\/6798\/revisions"}],"wp:attachment":[{"href":"https:\/\/sdeno.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=6798"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/sdeno.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=6798"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/sdeno.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=6798"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}