首页 > 其他分享 >vue导出自定义的html

vue导出自定义的html

时间:2023-07-28 13:44:42浏览次数:32  
标签:vue option 自定义 writer html file download css

vue导出.html文件

HTML页面由.css、htmlDom标签组成,将css设置成js通过export导出,htmlDom可以通过$el.innerHTML获得,也可通过document.getElementById('id')获得 。然后构造html页面,使用createObjectURL创建一个文件流下载。代码如下:

import {resumecss} from '@/styles/download.css.js'
import writer from 'file-writer'
 
methods:{
    download(name){  
        let html = this.getHtml();
        let s = writer(`${name}.html`, html, 'utf-8');
    },
    getHtml(){
         const template = this.$refs.resume.innerHTML      
         let html = `<!DOCTYPE html>
                 <html>
                 <head>
                 <meta charset="utf-8">
                 <meta name="viewport" content="width=device-width,initial-scale=1.0">
                 <title>html</title>
                <link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css">
                <style> ${resumecss} </style>
                </head>
                <body>
                <div style="margin:0 auto;width:1200px">
                ${template}
                </div>
                </body>
                </html>`
                return html
      },
}

安装 'file-writer' 包,也可以写原生代码。如下:

1> 安装 'file-writer' 包: npm install -D file-writer
2> 原生代码:(也可以方到  methods里面)
function writer(fileName,content,option){
     var a = document.createElement('a');
     var url = window.URL.createObjectURL(new Blob([content],
        { type: (option.type || "text/plain") + ";charset=" + (option.encoding || 'utf-8') }));
     a.href = url;
     a.download = fileName || 'file';
     a.click();
     window.URL.revokeObjectURL(url);
 }

download.css.js

export const resumecss = `
  html,body{
    padding: 0;
    margin: 0;
  }
  ...
`

最后直接调用哪个  download   方法就可以了,传递的就是你想给这个html取的名字

标签:vue,option,自定义,writer,html,file,download,css
From: https://www.cnblogs.com/heibaiqi/p/17587363.html

相关文章

  • Vue2 & Vue3生命周期对比
    Vue2生命周期图示  Vue3生命周期图示  二者对比 ......
  • 看看Vue中如何封装一个自动化注册全局组件
    在项目的开发过程中,我们常常会去封装一些比较常用的全局组件,但是每添加一个组件就需要手动在main.js引入注册,不仅麻烦还代码量多,着实让人心烦。所以干脆封装一个自动化注册全局组件。1、自定义全局组件文件夹在src下新建一个globalComponents,用于存放全局组件,并新建一个组件,例......
  • vue-cli构建Vue3项目
    1、node环境检查node-v//查询Node版本 2、vue-cli版本检查vue-V//查询vue-cli版本npmuninstall-gvue-cli//卸载旧版vue-clinpminstall-gvue-cli//旧版vue-cli2npminstall-g@vue-cli//vue-cli3  其他命令:vue-V//查询vue-cli脚手架版本np......
  • AndroidAnnotations 自定义控件 ant编译 找不到类
    问题:今天使用jenkins+ant编译android项目,一直编译不通过,报错内容就是,自定义控件找不到类。确认了几次svn提交,项目代码完全提交,所以想到是不是代码的问题。故回头查询代码。在代码中使用了下划线类。这个类是在AA中自动生成的,而报错的地方,正是编译生成的地方,觉得可能和编......
  • 如何用DHTMLX组件为Web应用创建甘特图?(一)
    dhtmlxGantt是用于跨浏览器和跨平台应用程序的功能齐全的Gantt图表。可满足项目管理应用程序的所有需求,是最完善的甘特图图表库。甘特图仍然是项目管理应用程序中最需要的工具之一,DHTMLXGantt组件提供了能提升研发甘特图功能所需的重要工具。在这篇文章中,您将学习如何添加一个基本......
  • 如何使用地图软件制作一个自定义的旅游线路示意图 All In One
    如何使用地图软件制作一个自定义的旅游线路示意图AllInOneVlog视频Vlog视频博客Videoblog、Videolog如何用GoogleMap制作旅游路线图创建新地图添加线路(自动生成连线)预览分享https://www.google.com/maps/d/https://www.google.com/maps/d/ed......
  • HTML
     一般的格式是创立一个web文件夹,里面创建image,css,html分别对应存放的子文件夹                                   ......
  • linux安装Tomcat | 开启Tomcat | 为Tomcat添加html页面
    摘要目的:介绍linux如何安装Tomcat一、步骤创建目录上传安装文件,并解压缩到/opt/tomcat进入解压目录/bin,启动tomcat./startup.sh.开放端口8080测试是否安装成功:在windows、Linux下访问http://linuxip:8080二、演示创建目录mkdir/opt/tomcat上传安装文件,并解压......
  • vue-elementAdmin项目打包后白屏的问题
    Vue项目打包后出现白屏的可能原因有很多1.可能的思路和解决方案:1.确认静态资源路径是否正确。  在Vue项目中,打包后会生成一个dist目录,确保index.html引用的资源路径都是相对于dist目录的。2.确认路由是否正确配置。  如果打包后出现了白屏,可能是因为路由没......
  • vue注册全局组件,批量注册全局组件的所有方式
    本文列出所有主流在vue中批量注册全局组件的方法本文下面所有例子的组件目录如下:  方法一:直接在main.js中循环遍历注册1.在main.js中//引入所有需要注册的全局组件importaboutViewfrom'@/components/common/aboutView.vue'importinfoViewfrom'@/components/com......