Skip to content
Snippets Groups Projects
Commit b835e437 authored by HyeonJu Kong's avatar HyeonJu Kong
Browse files

Merge branch 'mainPage' into 'master'

Main page

See merge request !8
parents 995ed240 1cfc6402
Branches
No related tags found
1 merge request!8Main page
Showing
with 367 additions and 183 deletions
#app{font-family:Avenir,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-align:center;color:#2c3e50;margin-top:60px}
/*# sourceMappingURL=app.d23ad4f968f75bc1fdc1e08ce69223ca.css.map */
\ No newline at end of file
{"version":3,"sources":["app.d23ad4f968f75bc1fdc1e08ce69223ca.css"],"names":[],"mappings":"AACA,KACE,6CAAmD,CACnD,kCAAmC,CACnC,iCAAkC,CAClC,iBAAkB,CAClB,aAAc,CACd,eACF","file":"app.d23ad4f968f75bc1fdc1e08ce69223ca.css","sourcesContent":["\n#app {\r\n font-family: 'Avenir', Helvetica, Arial, sans-serif;\r\n -webkit-font-smoothing: antialiased;\r\n -moz-osx-font-smoothing: grayscale;\r\n text-align: center;\r\n color: #2c3e50;\r\n margin-top: 60px;\n}\r\n"]}
\ No newline at end of file
backend/public/static/img/book-open-flat.a6d64f7.png

22.2 KiB

webpackJsonp([1],{NHnr:function(t,o,n){"use strict";Object.defineProperty(o,"__esModule",{value:!0});var e=n("7+uW"),s={render:function(){var t=this.$createElement,o=this._self._c||t;return o("div",{attrs:{id:"app"}},[o("img",{attrs:{src:n("R0yh")}}),this._v(" "),o("router-view")],1)},staticRenderFns:[]};var r=n("VU/8")({name:"App"},s,!1,function(t){n("i+00")},null,null).exports,i=n("/ocq"),a={created:function(){var t=this;this.$http.get("/api/books").then(function(o){t.books=o.data})},data:function(){return{books:[]}},methods:{increaseSellCount:function(){this.book.sellcount+=1,this.$http.post("/api/books",this.book).then(function(t){console.log("Increase Buy count success")}).catch(function(t){console.log("Increase Buy count fail")})}}},c={render:function(){var t=this,o=t.$createElement,n=t._self._c||o;return n("div",{staticClass:"books"},[n("h1",[t._v("서적 목록")]),t._v(" "),t._l(t.books,function(o){return n("div",{key:o.id,staticClass:"book"},[n("img",{staticClass:"cover",attrs:{src:o.cover}}),t._v(" "),n("div",[n("strong",[t._v("제목: "+t._s(o.name))]),t._v(" "),n("br"),t._v(" "),n("i",[t._v("작가: "+t._s(o.author))]),t._v(" "),n("br"),t._v("\n 출판사: "+t._s(o.publisher)+"\n "),n("router-link",{attrs:{to:{name:"bookdetail",params:{id:o.id}}}},[t._v("더보기")]),t._v(" "),n("div",[n("button",{on:{click:function(t){o.buycount++}}},[t._v("구매")]),t._v(" 구매현황: "+t._s(o.buycount)+"\n "),n("button",{on:{click:function(t){o.sellcount++}}},[t._v("판매")]),t._v(" 판매현황: "+t._s(o.sellcount)+"\n ")]),t._v(" "),n("hr")],1)])})],2)},staticRenderFns:[]},u=n("VU/8")(a,c,!1,null,null,null).exports,l={render:function(){var t=this,o=t.$createElement,n=t._self._c||o;return n("div",[n("h1",[t._v("상세 내용")]),t._v(" "),n("img",{staticClass:"cover",attrs:{src:t.book.cover}}),t._v(" "),n("div",[n("strong",[t._v("제목: "+t._s(t.book.name))]),t._v(" "),n("br"),t._v(" "),n("i",[t._v("작가: "+t._s(t.book.author))]),t._v(" "),n("br"),t._v("\n 출판사: "+t._s(t.book.publisher)+"\n "),n("p",[t._v(" 도서 소개: "+t._s(t.book.description)+" ")]),t._v(" "),n("router-link",{attrs:{to:{name:"bookindex"}}},[t._v("돌아가기")])],1)])},staticRenderFns:[]},v=n("VU/8")({created:function(){var t=this,o=this.$route.params.id;this.$http.get("/api/books/"+o).then(function(o){t.book=o.data[0]})},data:function(){return{book:{}}}},l,!1,null,null,null).exports;e.a.use(i.a);var _=new i.a({mode:"history",routes:[{path:"/",name:"bookindex",component:u},{path:"/:id",name:"bookdetail",component:v}]}),p=n("mtWM"),d=n.n(p);e.a.prototype.$http=d.a,e.a.config.productionTip=!1,new e.a({el:"#app",router:_,components:{App:r},template:"<App/>"})},R0yh:function(t,o,n){t.exports=n.p+"static/img/book-open-flat.a6d64f7.png"},"i+00":function(t,o){}},["NHnr"]);
//# sourceMappingURL=app.1c070e861afe7dc1467b.js.map
\ No newline at end of file
{"version":3,"sources":["webpack:///./src/App.vue?68f6","webpack:///./src/App.vue","webpack:///src/App.vue","webpack:///src/components/BookIndexPage.vue","webpack:///./src/components/BookIndexPage.vue?8278","webpack:///./src/components/BookIndexPage.vue","webpack:///./src/components/BookShowPage.vue?3f57","webpack:///./src/components/BookShowPage.vue","webpack:///src/components/BookShowPage.vue","webpack:///./src/router/index.js","webpack:///./src/main.js","webpack:///./src/assets/book-open-flat.png"],"names":["selectortype_template_index_0_src_App","render","_h","this","$createElement","_c","_self","attrs","id","src","__webpack_require__","_v","staticRenderFns","src_App","normalizeComponent","name","ssrContext","BookIndexPage","created","_this","$http","get","then","response","books","data","methods","increaseSellCount","book","sellcount","post","res","console","log","catch","err","components_BookIndexPage","_vm","staticClass","_l","key","cover","_s","author","publisher","to","params","on","click","$event","buycount","src_components_BookIndexPage","BookIndexPage_normalizeComponent","components_BookShowPage","description","src_components_BookShowPage","BookShowPage_normalizeComponent","$route","Vue","use","Router","router","mode","routes","path","component","BookShowPage","prototype","axios","config","productionTip","el","components","App","template","module","exports","p"],"mappings":"qHAGeA,GADEC,OAFjB,WAA0B,IAAaC,EAAbC,KAAaC,eAA0BC,EAAvCF,KAAuCG,MAAAD,IAAAH,EAAwB,OAAAG,EAAA,OAAiBE,OAAOC,GAAA,SAAYH,EAAA,OAAYE,OAAOE,IAAMC,EAAQ,WAApIP,KAAoKQ,GAAA,KAAAN,EAAA,oBAE7KO,oBCCjB,IAuBeC,EAvBUH,EAAQ,OAcjCI,ECRAC,KAAA,ODUEf,GATF,EAVA,SAAAgB,GACEN,EAAQ,SAaV,KAEA,MAUgC,oBEHhCO,GACAC,QADA,WACA,IAAAC,EAAAhB,KACAA,KAAAiB,MAAAC,IAAA,cAAAC,KAAA,SAAAC,GACAJ,EAAAK,MAAAD,EAAAE,QAGAA,KANA,WAOA,OACAD,WAGAE,SACAC,kBADA,WAEAxB,KAAAyB,KAAAC,WAAA,EACA1B,KAAAiB,MAAAU,KAAA,aAAA3B,KAAAyB,MACAN,KAAA,SAAAS,GACAC,QAAAC,IAAA,gCAEAC,MAAA,SAAAC,GACAH,QAAAC,IAAA,gCCvCeG,GADEnC,OAFP,WAAgB,IAAAoC,EAAAlC,KAAaD,EAAAmC,EAAAjC,eAA0BC,EAAAgC,EAAA/B,MAAAD,IAAAH,EAAwB,OAAAG,EAAA,OAAiBiC,YAAA,UAAoBjC,EAAA,MAAAgC,EAAA1B,GAAA,WAAA0B,EAAA1B,GAAA,KAAA0B,EAAAE,GAAAF,EAAA,eAAAT,GAA2E,OAAAvB,EAAA,OAAiBmC,IAAAZ,EAAApB,GAAA8B,YAAA,SAA+BjC,EAAA,OAAYiC,YAAA,QAAA/B,OAA2BE,IAAAmB,EAAAa,SAAkBJ,EAAA1B,GAAA,KAAAN,EAAA,OAAAA,EAAA,UAAAgC,EAAA1B,GAAA,OAAA0B,EAAAK,GAAAd,EAAAb,SAAAsB,EAAA1B,GAAA,KAAAN,EAAA,MAAAgC,EAAA1B,GAAA,KAAAN,EAAA,KAAAgC,EAAA1B,GAAA,OAAA0B,EAAAK,GAAAd,EAAAe,WAAAN,EAAA1B,GAAA,KAAAN,EAAA,MAAAgC,EAAA1B,GAAA,sBAAA0B,EAAAK,GAAAd,EAAAgB,WAAA,kBAAAvC,EAAA,eAAmQE,OAAOsC,IAAM9B,KAAA,aAAA+B,QAA8BtC,GAAAoB,EAAApB,QAAiB6B,EAAA1B,GAAA,SAAA0B,EAAA1B,GAAA,KAAAN,EAAA,OAAAA,EAAA,UAAqD0C,IAAIC,MAAA,SAAAC,GAAyBrB,EAAAsB,eAAkBb,EAAA1B,GAAA,QAAA0B,EAAA1B,GAAA,UAAA0B,EAAAK,GAAAd,EAAAsB,UAAA,sBAAA7C,EAAA,UAA2F0C,IAAIC,MAAA,SAAAC,GAAyBrB,EAAAC,gBAAmBQ,EAAA1B,GAAA,QAAA0B,EAAA1B,GAAA,UAAA0B,EAAAK,GAAAd,EAAAC,WAAA,oBAAAQ,EAAA1B,GAAA,KAAAN,EAAA,eAAwG,IAEx6BO,oBCqBjBuC,EAvBUzC,EAAQ,OAcjB0C,CACdnC,EACAmB,GAT6B,EAEb,KAEC,KAEU,MAUG,QCpBjBiB,GADEpD,OAFP,WAAgB,IAAAoC,EAAAlC,KAAaD,EAAAmC,EAAAjC,eAA0BC,EAAAgC,EAAA/B,MAAAD,IAAAH,EAAwB,OAAAG,EAAA,OAAAA,EAAA,MAAAgC,EAAA1B,GAAA,WAAA0B,EAAA1B,GAAA,KAAAN,EAAA,OAAkEiC,YAAA,QAAA/B,OAA2BE,IAAA4B,EAAAT,KAAAa,SAAsBJ,EAAA1B,GAAA,KAAAN,EAAA,OAAAA,EAAA,UAAAgC,EAAA1B,GAAA,OAAA0B,EAAAK,GAAAL,EAAAT,KAAAb,SAAAsB,EAAA1B,GAAA,KAAAN,EAAA,MAAAgC,EAAA1B,GAAA,KAAAN,EAAA,KAAAgC,EAAA1B,GAAA,OAAA0B,EAAAK,GAAAL,EAAAT,KAAAe,WAAAN,EAAA1B,GAAA,KAAAN,EAAA,MAAAgC,EAAA1B,GAAA,kBAAA0B,EAAAK,GAAAL,EAAAT,KAAAgB,WAAA,cAAAvC,EAAA,KAAAgC,EAAA1B,GAAA,WAAA0B,EAAAK,GAAAL,EAAAT,KAAA0B,aAAA,OAAAjB,EAAA1B,GAAA,KAAAN,EAAA,eAAiVE,OAAOsC,IAAM9B,KAAA,gBAAsBsB,EAAA1B,GAAA,iBAEhiBC,oBCqBjB2C,EAvBU7C,EAAQ,OAcjB8C,ECEhBtC,QAAA,eAAAC,EAAAhB,KACAK,EAAAL,KAAAsD,OAAAX,OAAAtC,GACAL,KAAAiB,MAAAC,IAAA,cAAAb,GAAAc,KAAA,SAAAC,GACAJ,EAAAS,KAAAL,EAAAE,KAAA,MAGAA,KAAA,WACA,OACAG,WDREyB,GAT6B,EAEb,KAEC,KAEU,MAUG,QEnBhCK,IAAIC,IAAIC,KAMO,IAAAC,EAAA,IAAID,KACjBE,KAAM,UACNC,SAQIC,KAAM,IACNjD,KAAM,YACNkD,UAAWhD,IAGX+C,KAAM,OACNjD,KAAM,aACNkD,UAAWC,2BCpBjBR,IAAIS,UAAU/C,MAAQgD,IACtBV,IAAIW,OAAOC,eAAgB,EAG3B,IAAIZ,KACFa,GAAI,OACJV,SACAW,YAAcC,OACdC,SAAU,iCCfZC,EAAAC,QAAiBlE,EAAAmE,EAAuB","file":"static/js/app.1c070e861afe7dc1467b.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{attrs:{\"id\":\"app\"}},[_c('img',{attrs:{\"src\":require(\"./assets/book-open-flat.png\")}}),_vm._v(\" \"),_c('router-view')],1)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-2556a522\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/App.vue\n// module id = null\n// module chunks = ","function injectStyle (ssrContext) {\n require(\"!!../node_modules/extract-text-webpack-plugin/dist/loader.js?{\\\"omit\\\":1,\\\"remove\\\":true}!vue-style-loader!css-loader?{\\\"sourceMap\\\":true}!../node_modules/vue-loader/lib/style-compiler/index?{\\\"vue\\\":true,\\\"id\\\":\\\"data-v-2556a522\\\",\\\"scoped\\\":false,\\\"hasInlineConfig\\\":false}!../node_modules/vue-loader/lib/selector?type=styles&index=0!./App.vue\")\n}\nvar normalizeComponent = require(\"!../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../node_modules/vue-loader/lib/selector?type=script&index=0!./App.vue\"\nimport __vue_script__ from \"!!babel-loader!../node_modules/vue-loader/lib/selector?type=script&index=0!./App.vue\"\n/* template */\nimport __vue_template__ from \"!!../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-2556a522\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../node_modules/vue-loader/lib/selector?type=template&index=0!./App.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = injectStyle\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/App.vue\n// module id = null\n// module chunks = ","<template>\r\n <div id=\"app\">\r\n <img src=\"./assets/book-open-flat.png\">\r\n <router-view/>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nexport default {\r\n name: 'App'\r\n}\r\n</script>\r\n\r\n<style>\r\n#app {\r\n font-family: 'Avenir', Helvetica, Arial, sans-serif;\r\n -webkit-font-smoothing: antialiased;\r\n -moz-osx-font-smoothing: grayscale;\r\n text-align: center;\r\n color: #2c3e50;\r\n margin-top: 60px;\r\n}\r\n</style>\r\n\n\n\n// WEBPACK FOOTER //\n// src/App.vue","<template>\r\n <div class=\"books\">\r\n <h1>서적 목록</h1>\r\n <div v-for=\"book in books\" class=\"book\" v-bind:key=\"book.id\">\r\n <img v-bind:src=\"book.cover\" class=\"cover\">\r\n <div>\r\n <strong>제목: {{book.name}}</strong> <br />\r\n <i>작가: {{book.author}}</i> <br />\r\n 출판사: {{book.publisher}}\r\n <router-link :to=\"{ name: 'bookdetail', params: { id: book.id }}\">더보기</router-link>\r\n \r\n <div>\r\n <button v-on:click=\"book.buycount++\">구매</button> 구매현황: {{book.buycount}}\r\n <button v-on:click=\"book.sellcount++\">판매</button> 판매현황: {{book.sellcount}}\r\n </div>\r\n \r\n <hr />\r\n </div>\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nexport default {\r\n created() {\r\n this.$http.get('/api/books').then((response) => {\r\n this.books = response.data;\r\n });\r\n },\r\n data() {\r\n return {\r\n books: [],\r\n };\r\n },\r\n methods: {\r\n increaseSellCount() {\r\n this.book.sellcount += 1;\r\n this.$http.post(\"/api/books\", this.book)\r\n .then(res => {\r\n console.log('Increase Buy count success'); \r\n })\r\n .catch(err => {\r\n console.log('Increase Buy count fail');\r\n });\r\n // this.$router.push({ name: 'bookdetail' });\r\n }\r\n }\r\n};\r\n</script>\n\n\n// WEBPACK FOOTER //\n// src/components/BookIndexPage.vue","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"books\"},[_c('h1',[_vm._v(\"서적 목록\")]),_vm._v(\" \"),_vm._l((_vm.books),function(book){return _c('div',{key:book.id,staticClass:\"book\"},[_c('img',{staticClass:\"cover\",attrs:{\"src\":book.cover}}),_vm._v(\" \"),_c('div',[_c('strong',[_vm._v(\"제목: \"+_vm._s(book.name))]),_vm._v(\" \"),_c('br'),_vm._v(\" \"),_c('i',[_vm._v(\"작가: \"+_vm._s(book.author))]),_vm._v(\" \"),_c('br'),_vm._v(\"\\n 출판사: \"+_vm._s(book.publisher)+\"\\n \"),_c('router-link',{attrs:{\"to\":{ name: 'bookdetail', params: { id: book.id }}}},[_vm._v(\"더보기\")]),_vm._v(\" \"),_c('div',[_c('button',{on:{\"click\":function($event){book.buycount++}}},[_vm._v(\"구매\")]),_vm._v(\" 구매현황: \"+_vm._s(book.buycount)+\"\\n \"),_c('button',{on:{\"click\":function($event){book.sellcount++}}},[_vm._v(\"판매\")]),_vm._v(\" 판매현황: \"+_vm._s(book.sellcount)+\"\\n \")]),_vm._v(\" \"),_c('hr')],1)])})],2)}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-405635e5\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/BookIndexPage.vue\n// module id = null\n// module chunks = ","var normalizeComponent = require(\"!../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./BookIndexPage.vue\"\nimport __vue_script__ from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./BookIndexPage.vue\"\n/* template */\nimport __vue_template__ from \"!!../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-405635e5\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/vue-loader/lib/selector?type=template&index=0!./BookIndexPage.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/BookIndexPage.vue\n// module id = null\n// module chunks = ","var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',[_c('h1',[_vm._v(\"상세 내용\")]),_vm._v(\" \"),_c('img',{staticClass:\"cover\",attrs:{\"src\":_vm.book.cover}}),_vm._v(\" \"),_c('div',[_c('strong',[_vm._v(\"제목: \"+_vm._s(_vm.book.name))]),_vm._v(\" \"),_c('br'),_vm._v(\" \"),_c('i',[_vm._v(\"작가: \"+_vm._s(_vm.book.author))]),_vm._v(\" \"),_c('br'),_vm._v(\"\\n 출판사: \"+_vm._s(_vm.book.publisher)+\"\\n \"),_c('p',[_vm._v(\" 도서 소개: \"+_vm._s(_vm.book.description)+\" \")]),_vm._v(\" \"),_c('router-link',{attrs:{\"to\":{ name: 'bookindex' }}},[_vm._v(\"돌아가기\")])],1)])}\nvar staticRenderFns = []\nvar esExports = { render: render, staticRenderFns: staticRenderFns }\nexport default esExports\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./node_modules/vue-loader/lib/template-compiler?{\"id\":\"data-v-3a40b3bd\",\"hasScoped\":false,\"transformToRequire\":{\"video\":[\"src\",\"poster\"],\"source\":\"src\",\"img\":\"src\",\"image\":\"xlink:href\"},\"buble\":{\"transforms\":{}}}!./node_modules/vue-loader/lib/selector.js?type=template&index=0!./src/components/BookShowPage.vue\n// module id = null\n// module chunks = ","var normalizeComponent = require(\"!../../node_modules/vue-loader/lib/component-normalizer\")\n/* script */\nexport * from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./BookShowPage.vue\"\nimport __vue_script__ from \"!!babel-loader!../../node_modules/vue-loader/lib/selector?type=script&index=0!./BookShowPage.vue\"\n/* template */\nimport __vue_template__ from \"!!../../node_modules/vue-loader/lib/template-compiler/index?{\\\"id\\\":\\\"data-v-3a40b3bd\\\",\\\"hasScoped\\\":false,\\\"transformToRequire\\\":{\\\"video\\\":[\\\"src\\\",\\\"poster\\\"],\\\"source\\\":\\\"src\\\",\\\"img\\\":\\\"src\\\",\\\"image\\\":\\\"xlink:href\\\"},\\\"buble\\\":{\\\"transforms\\\":{}}}!../../node_modules/vue-loader/lib/selector?type=template&index=0!./BookShowPage.vue\"\n/* template functional */\nvar __vue_template_functional__ = false\n/* styles */\nvar __vue_styles__ = null\n/* scopeId */\nvar __vue_scopeId__ = null\n/* moduleIdentifier (server only) */\nvar __vue_module_identifier__ = null\nvar Component = normalizeComponent(\n __vue_script__,\n __vue_template__,\n __vue_template_functional__,\n __vue_styles__,\n __vue_scopeId__,\n __vue_module_identifier__\n)\n\nexport default Component.exports\n\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/components/BookShowPage.vue\n// module id = null\n// module chunks = ","<template>\r\n <div>\r\n <h1>상세 내용</h1>\r\n <img v-bind:src=\"book.cover\" class=\"cover\">\r\n <div>\r\n <strong>제목: {{book.name}}</strong> <br />\r\n <i>작가: {{book.author}}</i> <br />\r\n 출판사: {{book.publisher}}\r\n <p> 도서 소개: {{book.description}} </p>\r\n <router-link :to=\"{ name: 'bookindex' }\">돌아가기</router-link>\r\n </div>\r\n </div>\r\n</template>\r\n\r\n<script>\r\nexport default {\r\n created: function() {\r\n var id = this.$route.params.id;\r\n this.$http.get(`/api/books/${id}`).then((response) => {\r\n this.book = response.data[0];\r\n });\r\n },\r\n data: function() {\r\n return {\r\n book: {}\r\n };\r\n }\r\n};\r\n</script>\n\n\n// WEBPACK FOOTER //\n// src/components/BookShowPage.vue","import Vue from 'vue'\r\nimport Router from 'vue-router'\r\n\r\n\r\nVue.use(Router)\r\n\r\n//import IndexPage from '@/components/IndexPage'\r\nimport BookIndexPage from '@/components/BookIndexPage'\r\nimport BookShowPage from '@/components/BookShowPage'\r\n\r\nexport default new Router({\r\n mode: 'history',\r\n routes: [\r\n // {\r\n // path: '/',\r\n // name: 'IndexPage',\r\n // component: IndexPage\r\n // },\r\n\r\n {\r\n path: '/',\r\n name: 'bookindex',\r\n component: BookIndexPage\r\n },\r\n {\r\n path: '/:id',\r\n name: 'bookdetail',\r\n component: BookShowPage\r\n }\r\n ]\r\n})\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/router/index.js","// The Vue build version to load with the `import` command\r\n// (runtime-only or standalone) has been set in webpack.base.conf with an alias.\r\nimport Vue from 'vue'\r\nimport App from './App'\r\nimport router from './router'\r\nimport axios from 'axios'\r\n\r\nVue.prototype.$http = axios\r\nVue.config.productionTip = false\r\n\r\n/* eslint-disable no-new */\r\nnew Vue({\r\n el: '#app',\r\n router,\r\n components: { App },\r\n template: '<App/>'\r\n})\r\n\n\n\n// WEBPACK FOOTER //\n// ./src/main.js","module.exports = __webpack_public_path__ + \"static/img/book-open-flat.a6d64f7.png\";\n\n\n//////////////////\n// WEBPACK FOOTER\n// ./src/assets/book-open-flat.png\n// module id = R0yh\n// module chunks = 1"],"sourceRoot":""}
\ No newline at end of file
<<<<<<< HEAD {
{"version":3,"sources":["webpack:///webpack/bootstrap d4402d785da50a39ba85"],"names":["parentJsonpFunction","window","chunkIds","moreModules","executeModules","moduleId","chunkId","result","i","resolves","length","installedChunks","push","Object","prototype","hasOwnProperty","call","modules","shift","__webpack_require__","s","installedModules","2","exports","module","l","m","c","d","name","getter","o","defineProperty","configurable","enumerable","get","n","__esModule","object","property","p","oe","err","console","error"],"mappings":"aACA,IAAAA,EAAAC,OAAA,aACAA,OAAA,sBAAAC,EAAAC,EAAAC,GAIA,IADA,IAAAC,EAAAC,EAAAC,EAAAC,EAAA,EAAAC,KACQD,EAAAN,EAAAQ,OAAoBF,IAC5BF,EAAAJ,EAAAM,GACAG,EAAAL,IACAG,EAAAG,KAAAD,EAAAL,GAAA,IAEAK,EAAAL,GAAA,EAEA,IAAAD,KAAAF,EACAU,OAAAC,UAAAC,eAAAC,KAAAb,EAAAE,KACAY,EAAAZ,GAAAF,EAAAE,IAIA,IADAL,KAAAE,EAAAC,EAAAC,GACAK,EAAAC,QACAD,EAAAS,OAAAT,GAEA,GAAAL,EACA,IAAAI,EAAA,EAAYA,EAAAJ,EAAAM,OAA2BF,IACvCD,EAAAY,IAAAC,EAAAhB,EAAAI,IAGA,OAAAD,GAIA,IAAAc,KAGAV,GACAW,EAAA,GAIA,SAAAH,EAAAd,GAGA,GAAAgB,EAAAhB,GACA,OAAAgB,EAAAhB,GAAAkB,QAGA,IAAAC,EAAAH,EAAAhB,IACAG,EAAAH,EACAoB,GAAA,EACAF,YAUA,OANAN,EAAAZ,GAAAW,KAAAQ,EAAAD,QAAAC,IAAAD,QAAAJ,GAGAK,EAAAC,GAAA,EAGAD,EAAAD,QAKAJ,EAAAO,EAAAT,EAGAE,EAAAQ,EAAAN,EAGAF,EAAAS,EAAA,SAAAL,EAAAM,EAAAC,GACAX,EAAAY,EAAAR,EAAAM,IACAhB,OAAAmB,eAAAT,EAAAM,GACAI,cAAA,EACAC,YAAA,EACAC,IAAAL,KAMAX,EAAAiB,EAAA,SAAAZ,GACA,IAAAM,EAAAN,KAAAa,WACA,WAA2B,OAAAb,EAAA,SAC3B,WAAiC,OAAAA,GAEjC,OADAL,EAAAS,EAAAE,EAAA,IAAAA,GACAA,GAIAX,EAAAY,EAAA,SAAAO,EAAAC,GAAsD,OAAA1B,OAAAC,UAAAC,eAAAC,KAAAsB,EAAAC,IAGtDpB,EAAAqB,EAAA,IAGArB,EAAAsB,GAAA,SAAAC,GAA8D,MAApBC,QAAAC,MAAAF,GAAoBA","file":"static/js/manifest.2ae2e69a05c33dfc65f8.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tvar parentJsonpFunction = window[\"webpackJsonp\"];\n \twindow[\"webpackJsonp\"] = function webpackJsonpCallback(chunkIds, moreModules, executeModules) {\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [], result;\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(chunkIds, moreModules, executeModules);\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n \t\tif(executeModules) {\n \t\t\tfor(i=0; i < executeModules.length; i++) {\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = executeModules[i]);\n \t\t\t}\n \t\t}\n \t\treturn result;\n \t};\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// objects to store loaded and loading chunks\n \tvar installedChunks = {\n \t\t2: 0\n \t};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap d4402d785da50a39ba85"],"sourceRoot":""} "version": 3,
======= "sources": [
{"version":3,"sources":["webpack:///webpack/bootstrap 9a1e0d9f46f089fcbcf1"],"names":["parentJsonpFunction","window","chunkIds","moreModules","executeModules","moduleId","chunkId","result","i","resolves","length","installedChunks","push","Object","prototype","hasOwnProperty","call","modules","shift","__webpack_require__","s","installedModules","2","exports","module","l","m","c","d","name","getter","o","defineProperty","configurable","enumerable","get","n","__esModule","object","property","p","oe","err","console","error"],"mappings":"aACA,IAAAA,EAAAC,OAAA,aACAA,OAAA,sBAAAC,EAAAC,EAAAC,GAIA,IADA,IAAAC,EAAAC,EAAAC,EAAAC,EAAA,EAAAC,KACQD,EAAAN,EAAAQ,OAAoBF,IAC5BF,EAAAJ,EAAAM,GACAG,EAAAL,IACAG,EAAAG,KAAAD,EAAAL,GAAA,IAEAK,EAAAL,GAAA,EAEA,IAAAD,KAAAF,EACAU,OAAAC,UAAAC,eAAAC,KAAAb,EAAAE,KACAY,EAAAZ,GAAAF,EAAAE,IAIA,IADAL,KAAAE,EAAAC,EAAAC,GACAK,EAAAC,QACAD,EAAAS,OAAAT,GAEA,GAAAL,EACA,IAAAI,EAAA,EAAYA,EAAAJ,EAAAM,OAA2BF,IACvCD,EAAAY,IAAAC,EAAAhB,EAAAI,IAGA,OAAAD,GAIA,IAAAc,KAGAV,GACAW,EAAA,GAIA,SAAAH,EAAAd,GAGA,GAAAgB,EAAAhB,GACA,OAAAgB,EAAAhB,GAAAkB,QAGA,IAAAC,EAAAH,EAAAhB,IACAG,EAAAH,EACAoB,GAAA,EACAF,YAUA,OANAN,EAAAZ,GAAAW,KAAAQ,EAAAD,QAAAC,IAAAD,QAAAJ,GAGAK,EAAAC,GAAA,EAGAD,EAAAD,QAKAJ,EAAAO,EAAAT,EAGAE,EAAAQ,EAAAN,EAGAF,EAAAS,EAAA,SAAAL,EAAAM,EAAAC,GACAX,EAAAY,EAAAR,EAAAM,IACAhB,OAAAmB,eAAAT,EAAAM,GACAI,cAAA,EACAC,YAAA,EACAC,IAAAL,KAMAX,EAAAiB,EAAA,SAAAZ,GACA,IAAAM,EAAAN,KAAAa,WACA,WAA2B,OAAAb,EAAA,SAC3B,WAAiC,OAAAA,GAEjC,OADAL,EAAAS,EAAAE,EAAA,IAAAA,GACAA,GAIAX,EAAAY,EAAA,SAAAO,EAAAC,GAAsD,OAAA1B,OAAAC,UAAAC,eAAAC,KAAAsB,EAAAC,IAGtDpB,EAAAqB,EAAA,IAGArB,EAAAsB,GAAA,SAAAC,GAA8D,MAApBC,QAAAC,MAAAF,GAAoBA","file":"static/js/manifest.2ae2e69a05c33dfc65f8.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tvar parentJsonpFunction = window[\"webpackJsonp\"];\n \twindow[\"webpackJsonp\"] = function webpackJsonpCallback(chunkIds, moreModules, executeModules) {\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [], result;\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(chunkIds, moreModules, executeModules);\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n \t\tif(executeModules) {\n \t\t\tfor(i=0; i < executeModules.length; i++) {\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = executeModules[i]);\n \t\t\t}\n \t\t}\n \t\treturn result;\n \t};\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// objects to store loaded and loading chunks\n \tvar installedChunks = {\n \t\t2: 0\n \t};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 9a1e0d9f46f089fcbcf1"],"sourceRoot":""} "webpack:///webpack/bootstrap 9a1e0d9f46f089fcbcf1"
>>>>>>> master ],
"names": [
"parentJsonpFunction",
"window",
"chunkIds",
"moreModules",
"executeModules",
"moduleId",
"chunkId",
"result",
"i",
"resolves",
"length",
"installedChunks",
"push",
"Object",
"prototype",
"hasOwnProperty",
"call",
"modules",
"shift",
"__webpack_require__",
"s",
"installedModules",
"2",
"exports",
"module",
"l",
"m",
"c",
"d",
"name",
"getter",
"o",
"defineProperty",
"configurable",
"enumerable",
"get",
"n",
"__esModule",
"object",
"property",
"p",
"oe",
"err",
"console",
"error"
],
"mappings": "aACA,IAAAA,EAAAC,OAAA,aACAA,OAAA,sBAAAC,EAAAC,EAAAC,GAIA,IADA,IAAAC,EAAAC,EAAAC,EAAAC,EAAA,EAAAC,KACQD,EAAAN,EAAAQ,OAAoBF,IAC5BF,EAAAJ,EAAAM,GACAG,EAAAL,IACAG,EAAAG,KAAAD,EAAAL,GAAA,IAEAK,EAAAL,GAAA,EAEA,IAAAD,KAAAF,EACAU,OAAAC,UAAAC,eAAAC,KAAAb,EAAAE,KACAY,EAAAZ,GAAAF,EAAAE,IAIA,IADAL,KAAAE,EAAAC,EAAAC,GACAK,EAAAC,QACAD,EAAAS,OAAAT,GAEA,GAAAL,EACA,IAAAI,EAAA,EAAYA,EAAAJ,EAAAM,OAA2BF,IACvCD,EAAAY,IAAAC,EAAAhB,EAAAI,IAGA,OAAAD,GAIA,IAAAc,KAGAV,GACAW,EAAA,GAIA,SAAAH,EAAAd,GAGA,GAAAgB,EAAAhB,GACA,OAAAgB,EAAAhB,GAAAkB,QAGA,IAAAC,EAAAH,EAAAhB,IACAG,EAAAH,EACAoB,GAAA,EACAF,YAUA,OANAN,EAAAZ,GAAAW,KAAAQ,EAAAD,QAAAC,IAAAD,QAAAJ,GAGAK,EAAAC,GAAA,EAGAD,EAAAD,QAKAJ,EAAAO,EAAAT,EAGAE,EAAAQ,EAAAN,EAGAF,EAAAS,EAAA,SAAAL,EAAAM,EAAAC,GACAX,EAAAY,EAAAR,EAAAM,IACAhB,OAAAmB,eAAAT,EAAAM,GACAI,cAAA,EACAC,YAAA,EACAC,IAAAL,KAMAX,EAAAiB,EAAA,SAAAZ,GACA,IAAAM,EAAAN,KAAAa,WACA,WAA2B,OAAAb,EAAA,SAC3B,WAAiC,OAAAA,GAEjC,OADAL,EAAAS,EAAAE,EAAA,IAAAA,GACAA,GAIAX,EAAAY,EAAA,SAAAO,EAAAC,GAAsD,OAAA1B,OAAAC,UAAAC,eAAAC,KAAAsB,EAAAC,IAGtDpB,EAAAqB,EAAA,IAGArB,EAAAsB,GAAA,SAAAC,GAA8D,MAApBC,QAAAC,MAAAF,GAAoBA",
"file": "static/js/manifest.2ae2e69a05c33dfc65f8.js",
"sourcesContent": [
" \t// install a JSONP callback for chunk loading\n \tvar parentJsonpFunction = window[\"webpackJsonp\"];\n \twindow[\"webpackJsonp\"] = function webpackJsonpCallback(chunkIds, moreModules, executeModules) {\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [], result;\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(chunkIds, moreModules, executeModules);\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n \t\tif(executeModules) {\n \t\t\tfor(i=0; i < executeModules.length; i++) {\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = executeModules[i]);\n \t\t\t}\n \t\t}\n \t\treturn result;\n \t};\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// objects to store loaded and loading chunks\n \tvar installedChunks = {\n \t\t2: 0\n \t};\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, {\n \t\t\t\tconfigurable: false,\n \t\t\t\tenumerable: true,\n \t\t\t\tget: getter\n \t\t\t});\n \t\t}\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n\n\n// WEBPACK FOOTER //\n// webpack/bootstrap 9a1e0d9f46f089fcbcf1"
],
"sourceRoot": ""
}
...@@ -10,15 +10,7 @@ module.exports = { ...@@ -10,15 +10,7 @@ module.exports = {
// Paths // Paths
assetsSubDirectory: 'static', assetsSubDirectory: 'static',
assetsPublicPath: '/', assetsPublicPath: '/',
proxyTable: { proxyTable: {},
'/api': {
target: 'http://localhost:3000/api',
changeOrigin: true,
pathRewrite: {
'^/api': ''
}
}
},
// Various Dev Server settings // Various Dev Server settings
host: 'localhost', // can be overwritten by process.env.HOST host: 'localhost', // can be overwritten by process.env.HOST
...@@ -46,12 +38,10 @@ module.exports = { ...@@ -46,12 +38,10 @@ module.exports = {
build: { build: {
// Template for index.html // Template for index.html
//index: path.resolve(__dirname, '../dist/index.html'), index: path.resolve(__dirname, '../dist/index.html'),
index: path.resolve(__dirname, '../../backend/public/index.html'),
// Paths // Paths
//assetsRoot: path.resolve(__dirname, '../dist'), assetsRoot: path.resolve(__dirname, '../dist'),
assetsRoot: path.resolve(__dirname, '../../backend/public'),
assetsSubDirectory: 'static', assetsSubDirectory: 'static',
assetsPublicPath: '/', assetsPublicPath: '/',
......
...@@ -3,7 +3,7 @@ ...@@ -3,7 +3,7 @@
<head> <head>
<meta charset="utf-8"> <meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1.0"> <meta name="viewport" content="width=device-width,initial-scale=1.0">
<title>majorbook</title> <title>frontend</title>
</head> </head>
<body> <body>
<div id="app"></div> <div id="app"></div>
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
"name": "frontend", "name": "frontend",
"version": "1.0.0", "version": "1.0.0",
"description": "A Vue.js project", "description": "A Vue.js project",
"author": "YongJae <sdc689@gmail.com>", "author": "HyeonJu <hj950000@ajou.ac.kr>",
"private": true, "private": true,
"scripts": { "scripts": {
"dev": "webpack-dev-server --inline --progress --config build/webpack.dev.conf.js", "dev": "webpack-dev-server --inline --progress --config build/webpack.dev.conf.js",
...@@ -42,6 +42,7 @@ ...@@ -42,6 +42,7 @@
"postcss-import": "^11.0.0", "postcss-import": "^11.0.0",
"postcss-loader": "^2.0.8", "postcss-loader": "^2.0.8",
"postcss-url": "^7.2.1", "postcss-url": "^7.2.1",
"prettier": "^1.19.1",
"rimraf": "^2.6.0", "rimraf": "^2.6.0",
"sass-loader": "^7.3.1", "sass-loader": "^7.3.1",
"semver": "^5.3.0", "semver": "^5.3.0",
......
<template> <template>
<div id="app"> <div id="app" class="page-container">
<md-app md-mode="fixed-last">
<md-app-toolbar class="md-large md-dense md-primary">
<div class="md-toolbar-row">
<span class="md-title">MajorBook </span>
</div>
<div style="flex:1">
<template v-if="logged_io">
ID :
<input v-model="id" placeholder="ID" type="text" required />
PASSWORD :
<input
v-model="pwd"
placeholder="password"
type="password"
required
/>
<button v-on:click="login" class="btn">Login</button>
<md-button :href="signup" class="btn">Sign up</md-button>
</template>
<template v-else>
<button class="btn">거래현황</button>
<button v-on:click="logout" class="btn">Logout</button>
</template>
</div>
<div class="md-toolbar-row">
<md-tabs class="md-primary" style="margin: auto; height: 30px">
<md-tab id="tab-home" md-label="Home" to="/"> </md-tab>
<md-tab
id="tab-dashBoard"
md-label="Dashboard"
to="/dashBoard"
></md-tab>
<md-tab id="tab-profile" md-label="Profile" to="/profile"></md-tab>
<md-tab
id="tab-list"
md-label="전공서적보기"
to="/BookSearchPage"
></md-tab>
</md-tabs>
</div>
</md-app-toolbar>
</md-app>
<router-view /> <router-view />
</div> </div>
</template> </template>
<script> <script>
import Vue from "vue";
import VueMaterial from "vue-material";
import "vue-material/dist/vue-material.min.css";
Vue.use(VueMaterial);
export default { export default {
name: "App" name: "App",
data() {
return {
id: "",
pwd: "",
flag: false,
url: {
bookIndex: "/api/books"
}
};
},
computed: {
changeID() {
this.id = `${this.id}`;
},
changePWD() {
this.pwd = `${this.pwd}`;
},
logged_io() {
if (!this.flag) return true;
else return false;
}
},
methods: {
login: function() {
if (this.id != "" && this.pwd != "") {
alert(this.id + " login!!");
this.flag = !this.flag;
this.id = "";
this.pwd = "";
} else alert("ID/PASSWORD를 입력하세요");
},
logout: function() {
this.flag = !this.flag;
}
}
}; };
</script> </script>
...@@ -17,6 +102,24 @@ export default { ...@@ -17,6 +102,24 @@ export default {
-moz-osx-font-smoothing: grayscale; -moz-osx-font-smoothing: grayscale;
text-align: center; text-align: center;
color: #2c3e50; color: #2c3e50;
margin-top: 60px; height: 100%;
}
.btn {
color: #00b7ff;
background-color: #a6a6a6;
border-radius: 15%;
}
h1 {
text-align: left;
font-size: 35px;
color: #00b7ff;
text-decoration: none;
}
img {
height: 100%;
width: 100%;
} }
</style> </style>
<template>
<div class="books">
<h1>서적 목록</h1>
<div v-for="book in books" class="book" v-bind:key="book.id">
<img v-bind:src="book.cover" class="cover">
<div>
<strong>제목: {{book.name}}</strong> <br />
<i>작가: {{book.author}}</i> <br />
출판사: {{book.publisher}}
<router-link :to="{ name: 'bookdetail', params: { id: book.id }}">더보기</router-link>
<div>
<button v-on:click="book.buycount++">구매</button> 구매현황: {{book.buycount}}
<button v-on:click="book.sellcount++">판매</button> 판매현황: {{book.sellcount}}
</div>
<hr />
</div>
</div>
</div>
</template>
<script>
export default {
created() {
this.$http.get('/api/books').then((response) => {
this.books = response.data;
});
},
data() {
return {
books: [],
};
},
methods: {
increaseSellCount() {
this.book.sellcount += 1;
this.$http.post("/api/books", this.book)
.then(res => {
console.log('Increase Buy count success');
})
.catch(err => {
console.log('Increase Buy count fail');
});
// this.$router.push({ name: 'bookdetail' });
}
}
};
</script>
\ No newline at end of file
<template>
<h1> buy</h1>
</template>
<script>
export default{
data() {
return{
name : '',
univ : '',
email : ''
}
},
computed:{
},
methods:{
}
}
</script>
<style lang='css'>
</style>
...@@ -2,14 +2,13 @@ ...@@ -2,14 +2,13 @@
<!DOCTYPE html> <!DOCTYPE html>
<html lang="en"> <html lang="en">
<head> <head>
<meta charset="UTF-8"> <meta charset="UTF-8" />
<meta name='viewport' content='width=device-width, initial-scale=1.0'> <meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Majorbook-My Page</title> <title>Majorbook</title>
</head> </head>
<body> <body>
<h1>My Page</h1> <h1>my page 1</h1>
<button>수정하기</button>
<button>수정하기</button>
</body> </body>
</html> </html>
</template> </template>
\ No newline at end of file
<template> <template>
<!DOCTYPE html> <div>
<html lang="en"> <div class="md-layout" style="display: block; color:#F6F6F6">
<head> <div class="md-layout-item"><img src="../../static/img/img2.jpg" /></div>
<title>Majorbook</title> <div class="md-layout-item" style="backgroundColor:#F2CB61; height:30px;">
</head> 이용방법
</div>
<body> <div class="md-layout-item" style="backgroundColor:#353535;">
<header class="header"> Implemented by 202-WebSysDesign
<h1>Majorbook</h1> </div>
<div align="right"> </div>
<Login /> </div>
</div>
</header>
<nav class="nav">
<button v-on:click="gotoMyPage()">My Page</button>
<button v-on:click="gotoBuyPage()">buy</button>
<button v-on:click="gotoSellPage()">sell</button>
<router-link to="/BookSearchPage">전공서적보기</router-link>
</nav>
<section class="section">
<img src="../../static/img/img1.jpg" />
</section>
<aside class="aside">이용방법</aside>
<footer class="footer">Implemented by 202-WebSysDesign</footer>
</body>
</html>
</template> </template>
<script> <script>
......
<template> <template>
<div> <div>
<md-card class="md-layout-item md-size-50 md-small-size-100"> <md-card class="md-layout-item md-size-50 md-small-size-100">
<md-card-header> <md-card-header>
<div class="md-title"> Sign Up</div> <div class="md-title">Sign Up</div>
</md-card-header> </md-card-header>
<md-card-content> <md-card-content>
<md-field> <md-field>
<label for="name">Name</label> <label for="name">Name</label>
<md-input name="name" v-model="user.name" /> <md-input name="name" v-model="user.name" />
</md-field> </md-field>
<md-field> <md-field>
<label for="id">ID</label> <label for="id">ID</label>
<md-input name="id" v-model="user.id" /> <md-input name="id" v-model="user.id" />
</md-field> </md-field>
<md-field :md-toggle-password="true"> <md-field :md-toggle-password="true">
<label for="password">Password</label> <label for="password">Password</label>
<md-input name="password" v-model="user.password" type="password"/> <md-input name="password" v-model="user.password" type="password" />
</md-field> </md-field>
<md-field> <md-field>
<label for="email">Email</label> <label for="email">Email</label>
<md-input name="email" v-model="user.email" /> <md-input name="email" v-model="user.email" />
</md-field> </md-field>
</md-card-content> </md-card-content>
<md-card-actions> <md-card-actions>
<md-button class="md-raised md-primary" v-on:click="signUp">Sign Up</md-button> <md-button class="md-raised md-primary" v-on:click="signUp"
</md-card-actions> >Sign Up</md-button
</md-card> >
</md-card-actions>
</md-card>
</div> </div>
</template> </template>
<style> <style>
.md-card { .md-card {
margin: auto; margin: auto;
} }
.md-primary { .md-primary {
background-color: blue; background-color: blue;
color:white; color: white;
} }
</style> </style>
<script> <script>
import Vue from 'vue' import Vue from "vue";
import VueMaterial from 'vue-material' import VueMaterial from "vue-material";
import 'vue-material/dist/vue-material.min.css' import "vue-material/dist/vue-material.min.css";
import 'vue-material/dist/theme/default.css' import "vue-material/dist/theme/default.css";
Vue.use(VueMaterial) Vue.use(VueMaterial);
// import {MdField, MdButton, MdCard, MdInput} from 'vue-material/dist/components' // import {MdField, MdButton, MdCard, MdInput} from 'vue-material/dist/components'
// import 'vue-material/dist/vue-material.min.css' // import 'vue-material/dist/vue-material.min.css'
...@@ -64,36 +65,38 @@ Vue.use(VueMaterial) ...@@ -64,36 +65,38 @@ Vue.use(VueMaterial)
// Vue.use(MdInput) // Vue.use(MdInput)
export default { export default {
data: function () { data: function() {
return { return {
user: { user: {
id: '', id: "",
password: '', password: "",
name: '', name: "",
email: '', email: "",
isLoggedIn: false isLoggedIn: false
}, },
sending: false sending: false
} };
}, },
methods: { methods: {
signUp: function (event) { signUp: function(event) {
this.$http.post('/api/login/signUp', { //axios 사용 this.$http
user: this.user .post("/api/login/signUp", {
}) //axios 사용
.then((response) => { user: this.user
if (response.data.result === 0) { })
alert('Error, please, try again') .then(response => {
} if (response.data.result === 0) {
if (response.data.result === 1) { alert("Error, please, try again");
alert('Success') }
this.$router.push('/') // Home 페이지로 보내줌 if (response.data.result === 1) {
} alert("Success");
}) this.$router.push("/"); // Home 페이지로 보내줌
.catch(function (error) { }
alert('error') })
}) .catch(function(error) {
alert("error");
});
} }
} }
} };
</script> </script>
\ No newline at end of file
<template>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>Majorbook</title>
</head>
<body>
<h1>My Page-2</h1>
dfsd
<button>수정하기</button>
</body>
</html>
</template>
<template>
<h1> sell </h1>
</template>
<script>
export default{
data() {
return{
name : '',
univ : '',
email : ''
}
},
computed:{
},
methods:{
}
}
</script>
<style lang='css'>
</style>
...@@ -3,6 +3,7 @@ ...@@ -3,6 +3,7 @@
import Vue from 'vue' import Vue from 'vue'
import App from './App' import App from './App'
import router from './router' import router from './router'
import axios from 'axios' import axios from 'axios'
import Vuetify from 'vuetify' import Vuetify from 'vuetify'
import 'vuetify/dist/vuetify.min.css' import 'vuetify/dist/vuetify.min.css'
......
import Vue from 'vue' import Vue from "vue";
import Router from 'vue-router'; import Router from "vue-router";
Vue.use(Router) Vue.use(Router);
import home from '@/components/home' import home from "@/components/home";
import myPage from '@/components/myPage' import dashBoard from "@/components/dashBoard";
import buy from '@/components/buy' import profile from "@/components/profile";
import sell from '@/components/sell' import signup from "@/components/signup";
import Login from '@/components/login/Login' import BookSearchPage from "@/components/BookSearchPage";
import SignUp from '@/components/login/SignUp' import BookIndexPage from "@/components/BookIndexPage";
import BookSearchPage from '@/components/BookSearchPage' import BookShowPage from "@/components/BookShowPage";
import Login from "@/components/login/Login";
import SignUp from "@/components/login/SignUp";
export default new Router({ export default new Router({
mode: 'history',
routes: [ routes: [
{ {
path: '/', path: "/",
name: 'home', name: "home",
component: home component: home
}, },
{ {
path: '/myPage', path: "/dashBoard",
name : 'myPage', name: "dashBoard",
component: myPage component: dashBoard
}, },
{ {
path: '/buy', path: "/profile",
name: 'buy', name: "profile",
component: buy component: profile
}, },
{ {
path: '/sell', path: "/signup",
name: 'sell', name: "signup",
component: sell component: signup
}, },
{ {
path: '/BookSearchPage', path: "/BookIndexPage",
name: 'bookindex', name: "bookindex",
component: BookIndexPage
},
{
path: "/BookIndexPage:id",
name: "bookdetail",
component: BookShowPage
},
{
path: "/BookSearchPage",
name: "bookindex",
component: BookSearchPage component: BookSearchPage
}, },
{ {
path: '/login', path: "/login",
name: 'Login', name: "Login",
component: Login component: Login
}, },
{ {
path: '/login/signUp', path: "/login/signUp",
name: 'SignUp', name: "SignUp",
component: SignUp component: SignUp
} }
] ]
}) });
\ No newline at end of file
frontend/static/img/img1.jpg

1.89 MiB

0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment