国产xxxx99真实实拍_久久不雅视频_高清韩国a级特黄毛片_嗯老师别我我受不了了小说

資訊專(zhuān)欄INFORMATION COLUMN

vue小項(xiàng)目實(shí)戰(zhàn)

VishKozus / 3468人閱讀

摘要:概念圖此文章參考網(wǎng)絡(luò)教程清單實(shí)現(xiàn)過(guò)程項(xiàng)目說(shuō)明這個(gè)簡(jiǎn)單小項(xiàng)目只提供一個(gè)小小小的骨架,需要向它身上具體加多少肉,需要大家考慮好功能和布局后進(jìn)行完善。詳情請(qǐng)看下圖具體文件夾以及文件名稱(chēng)可根據(jù)自己項(xiàng)目進(jìn)行自擬。

概念圖

此文章參考網(wǎng)絡(luò)教程
    https://www.jianshu.com/p/ec436222c608
清單(實(shí)現(xiàn)過(guò)程) 項(xiàng)目說(shuō)明

ps:這個(gè)簡(jiǎn)單小項(xiàng)目只提供一個(gè)小小小的骨架,需要向“它”身上具體加多少“肉”,需要大家考慮好功能和布局后進(jìn)行完善。

1.首先看下主頁(yè)效果:如下圖

主頁(yè)分析:大體上分為上(header)、中(body或content)、下(footer)三部分,中間body部分是由若干個(gè)相同的li組成的“列表”,所以我們可將li定義為一個(gè)組件。

2.再來(lái)看下商品詳情頁(yè):如下圖

詳情頁(yè)分析:也分為上、中、下三部分。

配置目錄文件

在src文件夾(也就是我們碼農(nóng)主要工作區(qū))下,創(chuàng)建assets文件夾(用來(lái)保存項(xiàng)目所需圖片)、components(存組件commonFooter.vue、DetailHeader.vue、homeHeader.vue、list.vue)、pages(存頁(yè)面goodsDetail.vue、home.vue)和main.js文件。詳情請(qǐng)看下圖:

ps: 1.具體文件夾以及文件名稱(chēng)可根據(jù)自己項(xiàng)目進(jìn)行“自擬”。 2.這里的每一個(gè)*.vue文件都是一個(gè)組件。

配置相關(guān)接口

主頁(yè)商品信息及圖片, 是從服務(wù)器端返回的json數(shù)據(jù),不可能所以商品都“寫(xiě)死”。故這里需要模擬后臺(tái)建立了一個(gè)數(shù)據(jù)文件。在根目錄下建立一個(gè)goods.json文件用來(lái)放“偽數(shù)據(jù)”,如下圖:

注意json里不能帶有注釋和其他文字,不然會(huì)項(xiàng)目跑不起來(lái),出錯(cuò)

{

"goods": [

{ "price": "69.9", "title": "德芙", "img": "http://m.360buyimg.com/babel/s211x211_jfs/t3688/270/776223567/128582/fa074fb3/58170f6dN6b9a12bf.jpg!q50.jpg.webp" },

{ "price": "63", "title": "費(fèi)列羅", "img": "http://m.360buyimg.com/babel/s211x211_jfs/t613/100/1264998035/221234/1a29d51f/54c34525Nb4f6581c.jpg!q50.jpg.webp"},

{ "price": "29.9", "title": "大米", "img": "http://m.360buyimg.com/babel/s211x211_jfs/t1258/40/17387560/108696/aced445f/54e011deN3ae867ae.jpg!q50.jpg.webp"},

{ "price": "54.9", "title": "安慕希", "img": "http://m.360buyimg.com/babel/s211x211_jfs/t2734/15/680373407/215934/3abaa748/572057daNc09b5da7.jpg!q50.jpg.webp"},

{ "price": "58", "title": "金典", "img": "http://m.360buyimg.com/babel/s211x211_jfs/t2482/145/1424008556/91991/d62f5454/569f47a2N3f763060.jpg!q50.jpg.webp"},

{ "price": "60", "title": "味可滋", "img": "http://m.360buyimg.com/babel/s211x211_jfs/t2368/3/874563950/70786/7b5e8edd/563074c8N4d535db4.jpg!q50.jpg.webp" },

{ "price": "248.00", "title": "瀘州老窖", "img": "http://m.360buyimg.com/babel/s211x211_jfs/t283/166/1424018055/189580/7c0792b7/543b4958N05fa2feb.jpg!q50.jpg.webp"},

{ "price": "328.8", "title": "劍南春", "img": "http://m.360buyimg.com/babel/s350x350_g15/M05/1A/0A/rBEhWlNeLAwIAAAAAAHyok3PZY0AAMl8gO8My0AAfK6307.jpg!q50.jpg.webp"},

{ "price": "49.00", "title": "藍(lán)莓", "img": "http://m.360buyimg.com/babel/s211x211_jfs/t2332/148/2952098628/94387/e64654e2/56f8d76aNb088c2ab.jpg!q50.jpg.webp" },

{ "price": "68", "title": "芒果", "img": "http://m.360buyimg.com/n0/jfs/t3709/334/1378702984/206759/5c100ab5/58253588Naaa05c5c.jpg!q70.jpg"}

]

}

使用node中的express,
安裝express和axios

在main.js里配置axios到原型鏈中
注意標(biāo)記的那兩行

import Vue from "vue"

import App from "./App"

import router from "./router"

import axios from "axios" //注意這行

Vue.prototype.$http = axios; //注意這行

Vue.config.productionTip = false

new Vue({

el: "#app",

router,

components: { App },

template: ""

})

在build>>webpack.dev.conf.js配置express并設(shè)置路由規(guī)則

如圖:

代碼如下:

"use strict"

const utils = require("./utils")

const webpack = require("webpack")

const config = require("../config")

const merge = require("webpack-merge")

const baseWebpackConfig = require("./webpack.base.conf")

const HtmlWebpackPlugin = require("html-webpack-plugin")

const FriendlyErrorsPlugin = require("friendly-errors-webpack-plugin")

const portfinder = require("portfinder")

/* datura_lj 增加express 20171126 */

const express = require("express")

const app = express()

var appData = require("../goods.json")/*加載本地?cái)?shù)據(jù)文件*/

var goods = appData.goods

var apiRoutes = express.Router()

app.use("/api", apiRoutes)

/* 增加express end */

const devWebpackConfig = merge(baseWebpackConfig, {

module: {

rules: utils.styleLoaders({ sourceMap: config.dev.cssSourceMap, usePostCSS: true })

},

// cheap-module-eval-source-map is faster for development

devtool: config.dev.devtool,

// these devServer options should be customized in /config/index.js

devServer: {

clientLogLevel: "warning",

historyApiFallback: true,

hot: true,

compress: true,

host: process.env.HOST || config.dev.host,

port: process.env.PORT || config.dev.port,

open: config.dev.autoOpenBrowser,

overlay: config.dev.errorOverlay ? {

warnings: false,

errors: true,

} : false,

publicPath: config.dev.assetsPublicPath,

proxy: config.dev.proxyTable,

quiet: true, // necessary for FriendlyErrorsPlugin

watchOptions: {

poll: config.dev.poll,

},

/* datura_lj 增加express 20171126 */

before(app) {

app.get("/api/goods", (req, res) => {

res.json({

code: 0,

data: goods

})

})

}

/* datura_lj 增加路由規(guī)則 end */

},

plugins: [

new webpack.DefinePlugin({

"process.env": require("../config/dev.env")

}),

new webpack.HotModuleReplacementPlugin(),

new webpack.NamedModulesPlugin(), // HMR shows correct file names in console on update.

new webpack.NoEmitOnErrorsPlugin(),

// https://github.com/ampedandwired/html-webpack-plugin

new HtmlWebpackPlugin({

filename: "index.html",

template: "index.html",

inject: true

}),

]

})

module.exports = new Promise((resolve, reject) => {

portfinder.basePort = process.env.PORT || config.dev.port

portfinder.getPort((err, port) => {

if (err) {

reject(err)

} else {

// publish the new Port, necessary for e2e tests

process.env.PORT = port

// add port to devServer config

devWebpackConfig.devServer.port = port

// Add FriendlyErrorsPlugin

devWebpackConfig.plugins.push(new FriendlyErrorsPlugin({

compilationSuccessInfo: {

messages: [`Your application is running here: http://${config.dev.host}:${port}`],

},

onErrors: config.dev.notifyOnErrors

? utils.createNotifierCallback()

: undefined

}))

resolve(devWebpackConfig)

}

})

})

npm run dev 之后,測(cè)試是否該數(shù)據(jù)可用,在瀏覽器地址欄中輸入:http://localhost:8080/api/goods ,在瀏覽器中展示出如下圖數(shù)據(jù),代碼數(shù)據(jù)數(shù)取成功

配置config/index.js:解決跨域問(wèn)題

在proxTable對(duì)象里寫(xiě):

proxyTable: {

"/api": {

target: "http://127.0.0.1:8080/api",

changeOrigin: true,

pathRewrite: {

"^/api": "/"

//寫(xiě)"/api"就等于寫(xiě)"http://127.0.0.1:8080/api"

//到時(shí)候?qū)?/api/goods"就等于寫(xiě)"http://127.0.0.1:8080/api/goods"

}

}

}

原來(lái)參考教程有些地方需要修改:

home.vue里的獲取數(shù)據(jù)要改成這樣才對(duì):

2.修改list.vue里的價(jià)格顯示那行代碼

3.在home.vue里修改組件 : v-for="(item, index) in items" :key="index" 這樣就可以運(yùn)行了

期待擴(kuò)寫(xiě)功能:實(shí)現(xiàn)點(diǎn)擊商品列表的某一項(xiàng)(商品列表為請(qǐng)求數(shù)據(jù)循環(huán)輸出),傳參到詳情頁(yè),詳情頁(yè)根據(jù)傳過(guò)來(lái)的參數(shù)去請(qǐng)求數(shù)據(jù)回來(lái)填充到頁(yè)面.

文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。

轉(zhuǎn)載請(qǐng)注明本文地址:http://m.specialneedsforspecialkids.com/yun/95764.html

相關(guān)文章

  • 前端面試題總結(jié)(js、html、程序、React、ES6、Vue、算法、全棧熱門(mén)視頻資源)

    摘要:并總結(jié)經(jīng)典面試題集各種算法和插件前端視頻源碼資源于一身的文檔,優(yōu)化項(xiàng)目,在瀏覽器端的層面上提升速度,幫助初中級(jí)前端工程師快速搭建項(xiàng)目。 本文是關(guān)注微信小程序的開(kāi)發(fā)和面試問(wèn)題,由基礎(chǔ)到困難循序漸進(jìn),適合面試和開(kāi)發(fā)小程序。并總結(jié)vue React html css js 經(jīng)典面試題 集各種算法和插件、前端視頻源碼資源于一身的文檔,優(yōu)化項(xiàng)目,在瀏覽器端的層面上提升速度,幫助初中級(jí)前端工程師快...

    pumpkin9 評(píng)論0 收藏0
  • 前端面試題總結(jié)(js、html、程序、React、ES6、Vue、算法、全棧熱門(mén)視頻資源)

    摘要:并總結(jié)經(jīng)典面試題集各種算法和插件前端視頻源碼資源于一身的文檔,優(yōu)化項(xiàng)目,在瀏覽器端的層面上提升速度,幫助初中級(jí)前端工程師快速搭建項(xiàng)目。 本文是關(guān)注微信小程序的開(kāi)發(fā)和面試問(wèn)題,由基礎(chǔ)到困難循序漸進(jìn),適合面試和開(kāi)發(fā)小程序。并總結(jié)vue React html css js 經(jīng)典面試題 集各種算法和插件、前端視頻源碼資源于一身的文檔,優(yōu)化項(xiàng)目,在瀏覽器端的層面上提升速度,幫助初中級(jí)前端工程師快...

    Carson 評(píng)論0 收藏0
  • 前端面試題總結(jié)(js、html、程序、React、ES6、Vue、算法、全棧熱門(mén)視頻資源)

    摘要:并總結(jié)經(jīng)典面試題集各種算法和插件前端視頻源碼資源于一身的文檔,優(yōu)化項(xiàng)目,在瀏覽器端的層面上提升速度,幫助初中級(jí)前端工程師快速搭建項(xiàng)目。 本文是關(guān)注微信小程序的開(kāi)發(fā)和面試問(wèn)題,由基礎(chǔ)到困難循序漸進(jìn),適合面試和開(kāi)發(fā)小程序。并總結(jié)vue React html css js 經(jīng)典面試題 集各種算法和插件、前端視頻源碼資源于一身的文檔,優(yōu)化項(xiàng)目,在瀏覽器端的層面上提升速度,幫助初中級(jí)前端工程師快...

    muzhuyu 評(píng)論0 收藏0
  • 光光談前端

    摘要:這個(gè)問(wèn)題應(yīng)該是百度或者知乎都能知道答案的,以上是自己親身學(xué)習(xí)的一些途徑方便少走一點(diǎn)彎路入門(mén)。 問(wèn)題1:前端的學(xué)習(xí)路線(xiàn) 基礎(chǔ)的html,css,js,推薦慕課網(wǎng)免費(fèi)課程:前端工程師路徑,極客學(xué)院免費(fèi)課程:前端工程師路徑 大概刷過(guò)就可以了,不用死記硬背某個(gè)知識(shí)點(diǎn),css跟js還需要加深學(xué)習(xí)的,在實(shí)戰(zhàn)過(guò)程中不懂就去查文檔 基礎(chǔ)的ps切圖能力 慕課網(wǎng)ps基礎(chǔ)課程 擁有自己的虛擬主機(jī) 傳送...

    canopus4u 評(píng)論0 收藏0

發(fā)表評(píng)論

0條評(píng)論

最新活動(dòng)
閱讀需要支付1元查看
<