vue.js如何加载本地json文件

原文转载至:
https://www.cnblogs.com/momozjm/p/6271249.html

在项目开发的过程中,如果后台接口还未开发完成,这个时候所以我们可以自建一个假数据文件(如data.json)到项目文件夹中,这样我们就可以模仿后台的数据进行开发。但是,如何在一个vue.js 项目中引入本地的json文件呢,下面就将步骤贴出来。

整个项目是由vue-cli脚手架搭建而成。具体项目结构如下:

1:首先我们使用vue-cli脚手架工具打包成上图所示的样子,不会vue-cli请跳转至这里:传送门

2:我们找到bulid>dev-server.js,然后打开

3:在里面加入这段代码,大概在20行左右)。

1
2
3
4
5
6
7
8
var  app = express()   //  从这后面开始加
 
var  goodsData = require( '../data.json' )
var  router = express.Router()
router. get ( "/goods" , function (req,res) {
   res.json(goodsData)
})
app.use(router)

这里用到的是node.js+express框架的知识。

 

4:将json文件放入项目中

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
{
   "status" : "0" ,
   "result" :[
     {
         "productId" : "10001" ,
         "productName" : "小米6" ,
         "prodcutPrice" : "2499" ,
         "prodcutImg" : "mi6.jpg"
     },
     {
       "productId" : "10002" ,
       "productName" : "小米笔记本" ,
       "prodcutPrice" : "3999" ,
       "prodcutImg" : "note.jpg"
     },
     {
       "productId" : "10003" ,
       "productName" : "小米6" ,
       "prodcutPrice" : "2499" ,
       "prodcutImg" : "mi6.jpg"
     },
     {
       "productId" : "10004" ,
       "productName" : "小米6" ,
       "prodcutPrice" : "2499" ,
       "prodcutImg" : "1.jpg"
     },
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
{
       "productId" : "10001" ,
       "productName" : "小米6" ,
       "prodcutPrice" : "2499" ,
       "prodcutImg" : "mi6.jpg"
   },
   {
     "productId" : "10002" ,
     "productName" : "小米笔记本" ,
     "prodcutPrice" : "3999" ,
     "prodcutImg" : "note.jpg"
   },
   {
     "productId" : "10003" ,
     "productName" : "小米6" ,
     "prodcutPrice" : "2499" ,
     "prodcutImg" : "mi6.jpg"
   },
   {
     "productId" : "10004" ,
     "productName" : "小米6" ,
     "prodcutPrice" : "2499" ,
     "prodcutImg" : "1.jpg"
   }
1
] }

  

5: 在某个组件中使用axios或者vue-resource调用:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<script>
     import axios  from  'axios'
     export  default {
         data(){
             return  {
 
             }
         }
         mounted () {
           this .getGoodsList()
         },
         methods: {
           getGoodsList () {
             axios. get ( '/goods' ).then((res) => {
               var  result = res.data
               console.log(result)
             })
           }
         }
     }
</script>

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值