vue写入json数据到文本中+vue引入cdn的用法

简介: vue写入json数据到文本中+vue引入cdn的用法

1.在vue中引入FileSaver.js 插件,通过cdn的方式

1.首先在 index.html 文件中引入插件
<script  src="https://cdn.bootcss.com/FileSaver.js/2014-11-29/FileSaver.js"></script>

2.在vue.config.js中进行配置,格式为'aaa':'bbb',aaa表示要引入资源的名字,bbb表示要导出给外部引用的名字,由对应的库自己定,例如,vue 为 Vue,vue-router 为 VueRouter

现在启动项目 报错 没找到原因,不知道为什么,希望有人能给解决一下

image.png

 externals:{
   
    'FileSaver':'FileSaver'
  },

2.js读json文件:

<div>
 <input type="file" id="files" @click="writer">
</div>
<script>
writer(){
   
      // console.log(area)
      var writeFiles = document.getElementById('files')
      // console.log(writeFiles)
    writeFiles.addEventListener('change',function(){
   
          var files1 = writeFiles.files[0]
          // console.log(files1)  // => 图一
          var reader = new FileReader()
          reader.readAsText(files1)
          reader.onload = function() {
   
            // console.log(this.result) // => 图二
            let data = JSON.parse(this.result) // 这边JSON.parse,导入文件应为json文件
            // console.log(data) // => 图三
            data.forEach(item => {
   
              item.children.forEach(dis => {
   
                // console.log(dis)
                dis.children.unshift({
   
                  label:`全${
     dis.label}`,
                  value:dis.value
                })
              })
            })
            // console.log(JSON.stringify(data)) // => 图四
            this.data = data
            // console.log(this.data)
          }
      },false)
</script>

image.png
image.png
image.png
image.png
3.js写json文件:

<div>
 <input type="button" id="export" value="保存">
</div>
<script>
var button = document.getElementById('export')
      button.addEventListener('click',function() {
   
        var files1 = writeFiles.files[0]
        var reader = new FileReader()
        reader.readAsText(files1)
        reader.onload = function() {
   
            // console.log(this.result) // => 图一
            var data1 = JSON.parse(this.result)
            // console.log(data) // => 图二
            data1.forEach(item => {
   
              item.children.forEach(dis => {
   
                // console.log(dis)
                dis.children.unshift({
   
                  label:`全${
     dis.label}`,
                  value:dis.value
                })
              })
            })
            console.log(data1)
            console.log(JSON.stringify(data1))
            let data1JSON = JSON.stringify(data1)
            var blob = new Blob([data1JSON],{
   type:"text/plain;charset=utf-8"})
            saveAs(blob,"save json")
        }
      },false)
</script>

4.全部代码

<template>
  <div>
      <el-button @click="writer">写入</el-button>
      <input type="file" id="files" @click="writer">
      <input type="button" id="export" value="保存">
  </div>
</template>

<script>
// import e from 'https://cdn.bootcss.com/FileSaver.js/2014-11-29/FileSaver.js'
import area from '@/assets/area.js'
export default {
   
  name:'doc',
  data(){
   
    return{
   
      area:area,
      data:[]
    }
  },
  methods:{
   
   writer(){
   
      // console.log(area)
      var writeFiles = document.getElementById('files')
      // console.log(writeFiles)
    writeFiles.addEventListener('change',function(){
   
          var files1 = writeFiles.files[0]
          // console.log(files1)  // => 图一
          var reader = new FileReader()
          reader.readAsText(files1)
          reader.onload = function() {
   
            // console.log(this.result) // => 图二
            let data = JSON.parse(this.result)
            // console.log(data) // => 图三
            data.forEach(item => {
   
              item.children.forEach(dis => {
   
                // console.log(dis)
                dis.children.unshift({
   
                  label:`全${
     dis.label}`,
                  value:dis.value
                })
              })
            })
            console.log(JSON.stringify(data)) // => 图四
            this.data = data
            // console.log(this.data)
          }
      },false)
      var button = document.getElementById('export')
      button.addEventListener('click',function() {
   
        var files1 = writeFiles.files[0]
        var reader = new FileReader()
        reader.readAsText(files1)
        reader.onload = function() {
   
            // console.log(this.result) // => 图一
            var data1 = JSON.parse(this.result)
            // console.log(data) // => 图二
            data1.forEach(item => {
   
              item.children.forEach(dis => {
   
                // console.log(dis)
                dis.children.unshift({
   
                  label:`全${
     dis.label}`,
                  value:dis.value
                })
              })
            })
            console.log(data1)
            console.log(JSON.stringify(data1))
            let data1JSON = JSON.stringify(data1)
            var blob = new Blob([data1JSON],{
   type:"text/plain;charset=utf-8"})
            saveAs(blob,"save json")
        }
      },false)
    }
  }
}
</script>

<style>

</style>
目录
相关文章
|
30天前
|
JSON 缓存 API
解析电商商品详情API接口系列,json数据示例参考
电商商品详情API接口是电商平台的重要组成部分,提供了商品的详细信息,支持用户进行商品浏览和购买决策。通过合理的API设计和优化,可以提升系统性能和用户体验。希望本文的解析和示例能够为开发者提供参考,帮助构建高效、可靠的电商系统。
39 12
|
1月前
|
JSON 前端开发 搜索推荐
关于商品详情 API 接口 JSON 格式返回数据解析的示例
本文介绍商品详情API接口返回的JSON数据解析。最外层为`product`对象,包含商品基本信息(如id、name、price)、分类信息(category)、图片(images)、属性(attributes)、用户评价(reviews)、库存(stock)和卖家信息(seller)。每个字段详细描述了商品的不同方面,帮助开发者准确提取和展示数据。具体结构和字段含义需结合实际业务需求和API文档理解。
|
3月前
|
JSON API 数据安全/隐私保护
拍立淘按图搜索API接口返回数据的JSON格式示例
拍立淘按图搜索API接口允许用户通过上传图片来搜索相似的商品,该接口返回的通常是一个JSON格式的响应,其中包含了与上传图片相似的商品信息。以下是一个基于淘宝平台的拍立淘按图搜索API接口返回数据的JSON格式示例,同时提供对其关键字段的解释
|
3月前
|
JSON 数据格式 索引
Python中序列化/反序列化JSON格式的数据
【11月更文挑战第4天】本文介绍了 Python 中使用 `json` 模块进行序列化和反序列化的操作。序列化是指将 Python 对象(如字典、列表)转换为 JSON 字符串,主要使用 `json.dumps` 方法。示例包括基本的字典和列表序列化,以及自定义类的序列化。反序列化则是将 JSON 字符串转换回 Python 对象,使用 `json.loads` 方法。文中还提供了具体的代码示例,展示了如何处理不同类型的 Python 对象。
|
3月前
|
JSON 缓存 前端开发
PHP如何高效地处理JSON数据:从编码到解码
在现代Web开发中,JSON已成为数据交换的标准格式。本文探讨了PHP如何高效处理JSON数据,包括编码和解码的过程。通过简化数据结构、使用优化选项、缓存机制及合理设置解码参数等方法,可以显著提升JSON处理的性能,确保系统快速稳定运行。
|
4天前
|
开发者 CDN
阿里云CDN边缘脚本示例实现/?p123重定向/p/123.html
本文介绍了如何通过EdgeScript实现URL重定向,将`http://www.example.com/?p123`重定向到`http://www.example.com/p/123.html`。使用捕获请求URI中的参数并进行重写,具体代码和内置变量参考阿里云CDN开发者文档。示例代码展示了关键的实现步骤。
23 8
|
23天前
|
CDN
阿里云CDN收费标准,不同计费模式价格表(基础服务费和增值服务费用整理)
阿里云CDN的计费包括基础费用和增值费用。基础费用有三种计费方式:按流量、带宽峰值和月结95带宽峰值,默认按流量计费。增值服务如HTTPS、QUIC、WAF和实时日志等,使用才收费。详细价格和规则请参考阿里云官网。
85 12
|
23天前
|
CDN
阿里云CDN怎么收费?看这一篇就够了,CDN不同计费模式收费价格全解析
阿里云CDN的费用由基础费用和增值费用组成。基础费用有三种计费方式:按流量、按带宽峰值和月结95带宽峰值,默认为按流量计费,价格根据使用量阶梯递减。增值费用包括静态HTTPS请求、QUIC请求等,按实际使用量收费,不使用不收费。具体收费标准和详细规则可参考阿里云官方页面。
|
1月前
|
负载均衡 定位技术 网络安全
阿里云国际站注册教程:阿里云cdn加速怎样
通过阿里云CDN加速,用户可以实现网站内容的快速加载,提升用户体验,同时减轻源站服务器的压力,提高网站的访问速度和稳定性
|
2月前
|
对象存储 CDN
阿里云CDN边缘脚本实现+字符转义%2B
对象存储OSS中,文件名包含+字符时,请求URL未转义会导致404错误。解决方法是将URL中的+字符转义为%2B,或通过CDN/DCDN边缘脚本自动转义。示例脚本:若URI包含+,则替换为%2B。
86 10