1. 程式人生 > >vue新vue-cli3環境配置和模擬json資料

vue新vue-cli3環境配置和模擬json資料

最近在研究學習vue,發現環境配置特麻煩,就是跟著文件步驟一步一步來,也會遇到各種想不到的坑,vue-cli3的配置比老的簡潔了很多,與以往的配置也有所不同:

  1. 安裝步驟以前是
npm install vue-cli -g

現在是:

npm install -g @vue/cli

2.vue-cli2 新建專案

 vue init webpack Vue-Project

vuecli3新建專案,在你建立後會有一個儲存當前配置的功能

vue create <project-name>

vue-cli2進入到專案,安裝依賴包

 cd Vue-Project
npm install

執行專案

vue-cli2 npm run dev
vue-cli3 npm run serve
vue-cli3 的vue.config.js

//模擬資料
const express = require('express')
const app = express()
var appData = require('./src/data/goodlist.json')
var seller = appData
var apiRoutes = express.Router();
app.use('/api',apiRoutes)

module.exports = {
    // 基本路徑
baseUrl: '/', // 輸出檔案目錄 outputDir: 'dist', // eslint-loader 是否在儲存的時候檢查 lintOnSave: true, // use the full build with in-browser compiler? // https://vuejs.org/v2/guide/installation.html#Runtime-Compiler-vs-Runtime-only runtimeCompiler: true, // webpack配置 // see https://github.com/vuejs/vue-cli/blob/dev/docs/webpack.md
chainWebpack: () => {}, configureWebpack: () => {}, // vue-loader 配置項 // https://vue-loader.vuejs.org/en/options.html //vueLoader: {}, // 生產環境是否生成 sourceMap 檔案 productionSourceMap: true, // css相關配置 css: { // 是否使用css分離外掛 ExtractTextPlugin extract: true, // 開啟 CSS source maps? sourceMap: false, // css預設器配置項 loaderOptions: {}, // 啟用 CSS modules for all css / pre-processor files. modules: false }, // use thread-loader for babel & TS in production build // enabled by default if the machine has more than 1 cores parallel: require('os').cpus().length > 1, // 是否啟用dll // See https://github.com/vuejs/vue-cli/blob/dev/docs/cli-service.md#dll-mode // PWA 外掛相關配置 // see https://github.com/vuejs/vue-cli/tree/dev/packages/%40vue/cli-plugin-pwa pwa: {}, // webpack-dev-server 相關配置 devServer: { //模擬資料開始 before(app) { app.get('/api/seller', (req, res) => { res.json({ // 這裡是你的json內容 errno: 0, data: seller }) }) }, open: process.platform === 'darwin', host: '0.0.0.0', port: 8080, https: false, hotOnly: false, proxy: null// 設定代理 }, // 第三方外掛配置 pluginOptions: { // ... } }

json程式碼

{
  "list": [
    {
      "title": "name1",
      "id": "0"
    },
    {
      "title": "name2",
      "id": "1"
    },
    {
      "title": "name3",
      "id": "2"
    }
  ]
}

獲取資料輸出vue檔案

<template>
  <div>
   <ul>
         <li v-for="item in itemlis">{{ item.title }}</li>
     </ul>
  </div>
</template>

<script>
import css from '../assets/css/base.css'
import Vue from'vue'
import  VueResource  from 'vue-resource'

Vue.use(VueResource)
export default {
  name: 'HelloWorld',

   created:function(){
     this.$http.get('api/seller').then((res)=>{
         var arrJson=JSON.parse(res.bodyText)
         this.itemlis=arrJson.data.list  //注意使用箭頭函式才可用this不然需要在函式外先定義變數把this賦值給變數
         console.log(this.itemlis)
     },function(err){
         console.log(err)
     })
   },
   //元件裡面必須用函式,return方式獲取data
  data () {
    return {
      msg: 'Welcome to Your Vue.js App',
      itemlis:[],
    }
  }
}
</script>