最近在研究学习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>
Logo

前往低代码交流专区

更多推荐