vue3+ts+vite项目中使用spreadjs,通过script标签引入spreadjs可以提高打包速度

https://demo.grapecity.com.cn/spreadjs/SpreadJSTutorial/quickstart/quickstart-js

右键另存这个官方的示例页面可以下载全部js文件

https://demo.grapecity.com.cn/SpreadJS/WebDesigner/index.html

spread.html:

<!DOCTYPE html>
<html lang="zh"><head><meta charset="utf-8" /><meta http-equiv="X-UA-Compatible" content="IE=edge" /><meta name="spreadjs culture" content="zh-cn" /><title>SpreadJS Designer</title><linkhref="./public/spread/gc.spread.sheets.excel2013white.css"rel="stylesheet"type="text/css"/><linkhref="./public/spread/gc.spread.sheets.designer.17.0.2.min.css"rel="stylesheet"type="text/css"/></head><body unselectable="on"><divid="gc-designer-container"role="application"style="height: 600px"></div><script src="./public/spread/gc.spread.sheets.all.min.js"></script><script async src="./public/spread/gc.spread.sheets.shapes.min.js"></script><script async src="./public/spread/gc.spread.sheets.charts.min.js"></script><scriptasyncsrc="./public/spread/gc.spread.sheets.slicers.min.js"></script><script async src="./public/spread/gc.spread.sheets.print.min.js"></script><scriptasyncsrc="./public/spread/gc.spread.sheets.barcode.min.js"></script><script async src="./public/spread/gc.spread.sheets.pdf.min.js"></script><scriptasyncsrc="./public/spread/gc.spread.pivot.pivottables.min.js"></script><scriptasyncsrc="./public/spread/gc.spread.sheets.tablesheet.min.js"></script><scriptasyncsrc="./public/spread/gc.spread.sheets.ganttsheet.min.js"></script><scriptasyncsrc="./public/spread/gc.spread.report.reportsheet.min.js"></script><scriptasyncsrc="./public/spread/gc.spread.sheets.formulapanel.min.js"></script><script async src="./public/spread/gc.spread.excelio.min.js"></script><script async src="./public/spread/gc.spread.sheets.io.min.js"></script><scriptasyncsrc="./public/spread/gc.spread.sheets.resources.zh.min.js"></script><scriptasyncsrc="./public/spread/gc.spread.sheets.designer.resource.cn.17.0.2.min.js"></script><scriptasyncsrc="./public/spread/gc.spread.sheets.designer.all.17.0.2.min.js"></script><script type="text/javascript">window.onload = function () {//Apply License//GC.Spread.Sheets.LicenseKey = 'sjs-distribution-key';//GC.Spread.Sheets.Designer.LicenseKey = 'designer-component-distribution-key';var config = GC.Spread.Sheets.Designer.DefaultConfigconfig.commandMap = {Welcome: {title: 'Welcome',text: 'Welcome',iconClass: 'ribbon-button-welcome',bigButton: 'true',commandName: 'Welcome',execute: function (context, propertyName, fontItalicChecked) {alert('Welcome to new designer.')},},}config.ribbon[0].buttonGroups.unshift({label: 'NewDesigner',thumbnailClass: 'welcome',commandGroup: {children: [{direction: 'vertical',commands: ['Welcome'],},],},})var designer = new GC.Spread.Sheets.Designer.Designer(document.getElementById('gc-designer-container'),config)}</script></body>
</html>

index.html:

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8" /><link rel="icon" href="/favicon.ico" /><meta name="viewport" content="width=device-width, initial-scale=1.0" /><title>Vite App</title><linkhref="/spread/gc.spread.sheets.excel2013white.css"rel="stylesheet"type="text/css"/><linkhref="/spread/gc.spread.sheets.designer.17.0.2.min.css"rel="stylesheet"type="text/css"/></head><body><div id="app"></div><script type="module" src="/src/main.ts"></script><script src="/spread/gc.spread.sheets.all.min.js"></script><script src="/spread/gc.spread.sheets.shapes.min.js"></script><script src="/spread/gc.spread.sheets.charts.min.js"></script><script src="/spread/gc.spread.sheets.slicers.min.js"></script><script src="/spread/gc.spread.sheets.print.min.js"></script><script src="/spread/gc.spread.sheets.barcode.min.js"></script><script src="/spread/gc.spread.sheets.pdf.min.js"></script><script src="/spread/gc.spread.pivot.pivottables.min.js"></script><script src="/spread/gc.spread.sheets.tablesheet.min.js"></script><script src="/spread/gc.spread.sheets.ganttsheet.min.js"></script><script src="/spread/gc.spread.report.reportsheet.min.js"></script><script src="/spread/gc.spread.sheets.formulapanel.min.js"></script><script src="/spread/gc.spread.excelio.min.js"></script><script src="/spread/gc.spread.sheets.io.min.js"></script><script src="/spread/gc.spread.sheets.resources.zh.min.js"></script><script src="/spread/gc.spread.sheets.designer.resource.cn.17.0.2.min.js"></script><script src="/spread/gc.spread.sheets.designer.all.17.0.2.min.js"></script></body>
</html>

designer/Index.vue:

<template><div id="gc-designer-container" style="height: 600px"></div>
</template><script setup lang="ts">
import { onMounted } from 'vue'const init = () => {//Apply License//GC.Spread.Sheets.LicenseKey = 'sjs-distribution-key';//GC.Spread.Sheets.Designer.LicenseKey = 'designer-component-distribution-key';//@ts-ignorelet config = GC.Spread.Sheets.Designer.DefaultConfigconfig.commandMap = {Welcome: {title: 'Welcome',text: 'Welcome',iconClass: 'ribbon-button-welcome',bigButton: 'true',commandName: 'Welcome',// @ts-ignoreexecute: function (context, propertyName, fontItalicChecked) {alert('Welcome to new designer.')},},}config.ribbon[0].buttonGroups.unshift({label: 'NewDesigner',thumbnailClass: 'welcome',commandGroup: {children: [{direction: 'vertical',commands: ['Welcome'],},],},})//@ts-ignorelet designer = new GC.Spread.Sheets.Designer.Designer(document.getElementById('gc-designer-container'),config)let sheet = designer.Spread.getActiveSheet()sheet.getCell(0, 0)//@ts-ignore.vAlign(GC.Spread.Sheets.VerticalAlign.center).value('Hello')console.log('success')
}onMounted(() => {init()
})
</script>

sheet/Index.vue:

<template><div id="gc-sheet-container" style="height: 600px"></div>
</template><script setup lang="ts">
import { onMounted } from 'vue'const init = () => {//Apply License//GC.Spread.Sheets.LicenseKey = 'sjs-distribution-key';//GC.Spread.Sheets.Designer.LicenseKey = 'designer-component-distribution-key';//@ts-ignorelet spread = new GC.Spread.Sheets.Workbook(document.getElementById('gc-sheet-container'),{ sheetCount: 1 })let sheet = spread.getSheet(0)sheet.setText(0, 0, 'hello')console.log('success')
}onMounted(() => {init()
})
</script>

package.json:

{"name": "m-spread","version": "0.0.0","private": true,"type": "module","scripts": {"dev": "vite","build": "run-p type-check \"build-only {@}\" --","build1": "node --max-old-space-size=8096 ./node_modules/vite/bin/vite.js build","preview": "vite preview","build-only": "vite build","type-check": "vue-tsc --build --force","lint": "eslint . --ext .vue,.js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts --fix --ignore-path .gitignore"},"dependencies": {"pinia": "^2.1.7","rollup-plugin-visualizer": "^5.12.0","vue": "^3.4.29","vue-router": "^4.3.3"},"devDependencies": {"@rushstack/eslint-patch": "^1.8.0","@tsconfig/node20": "^20.1.4","@types/node": "^20.14.5","@vitejs/plugin-vue": "^5.0.5","@vue/eslint-config-typescript": "^13.0.0","@vue/tsconfig": "^0.5.1","eslint": "^8.57.0","eslint-plugin-vue": "^9.23.0","npm-run-all2": "^6.2.0","typescript": "~5.4.0","vite": "^5.3.1","vite-plugin-vue-devtools": "^7.3.1","vue-tsc": "^2.0.21"}
}

vite.config.js:

import { fileURLToPath, URL } from 'node:url'import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import vueDevTools from 'vite-plugin-vue-devtools'
import { visualizer } from 'rollup-plugin-visualizer'// https://vitejs.dev/config/
export default defineConfig({server: {port: 3006},plugins: [vue(),vueDevTools(),visualizer()],resolve: {alias: {'@': fileURLToPath(new URL('./src', import.meta.url))}}
})

人工智能学习网站

https://chat.xutongbao.top

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/38359.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

数据产品经理知识库构建

概述 数据产品经理是企业中负责管理和推动数据产品的专业人员。他们利用数据来辅助决策&#xff0c;优化产品&#xff0c;提升用户体验。用STAR法则&#xff08;Situation, Task, Action, Result&#xff09;来介绍数据产品经理的角色&#xff0c;应该学习的数据产品&#…

Labview_网络流

网络流的介绍 网络流是一种易于配置、紧密集成的动态通信方法&#xff0c;用于将数据从一个应用程序传输到另一个应用程序&#xff0c;其吞吐量和延迟特性可与 TCP 相媲美。但是&#xff0c;与 TCP 不同的是&#xff0c;网络流直接支持任意数据类型的传输&#xff0c;而无需先…

忙忙碌碌的混沌之中差点扑了个空而错过年中这条线

文章目录 前言初见端倪混沌初始力不从心心力交瘁拾遗补缺总结 前言 突然意识到过完这个周末已经7月份了&#xff0c;他预示着我的2024年已经过半了&#xff0c;过年回家仿佛还是昨天的事情&#xff0c;怎么转眼间已经到了年中了。心里还是不愿承认这件事&#xff0c;翻开自己2…

cpu,缓存,辅存,主存之间的关系及特点

关系图 示意图&#xff1a; ------------------- | CPU | | ------------- | | | 寄存器 | | | ------------- | | | L1缓存 | | | ------------- | | | L2缓存 | | | ------------- | | | L3缓存 | | | ------------- | ----…

每日一题——Python实现PAT乙级1073 多选题常见计分法(举一反三+思想解读+逐步优化)9千字好文

一个认为一切根源都是“自己不够强”的INTJ 个人主页&#xff1a;用哲学编程-CSDN博客专栏&#xff1a;每日一题——举一反三Python编程学习Python内置函数 Python-3.12.0文档解读 目录 初次尝试 再次尝试 有何不同 版本一&#xff08;原始版本&#xff09;&#xff1a;…

修复vcruntime140.dll方法分享

修复vcruntime140.dll方法分享 最近在破解typora的时候出现了缺失vcruntime140.dll文件的报错导致软件启动失败。所以找了一番资料发现都不是很方便的处理&#xff0c;甚至有的dll处理工具还需要花钱&#xff1f;&#xff1f;&#xff1f;&#xff1f;&#xff0c;我本来就是为…

python实现网页自动化(自动登录需要验证的网页)

引言: python作为实现网页自动化的一个重要工具,其强大的各种封装的库使得程序运行更加简洁,只需要下载相应的库,然后调用库中的函数就可以简便的实现我们想要的网页相关操作。 正文: 我的前几篇文章写了关于初学爬虫中比较容易上手的功能,例如爬取静态网页的数据、动…

ThreadPoolExecutor 工作线程Worker自身锁设计

个人博客 ThreadPoolExecutor 工作线程Worker自身锁设计 | iwts’s blog 总集 想要完整了解下ThreadPoolExecutor&#xff1f;可以参考&#xff1a; 基于源码详解ThreadPoolExecutor实现原理 | iwts’s blog Worker-工作线程管理 线程池设计了内部类Worker&#xff0c;主…

【python】python知名品牌调查问卷数据分析可视化(源码+调查数据表)【独一无二】

&#x1f449;博__主&#x1f448;&#xff1a;米码收割机 &#x1f449;技__能&#x1f448;&#xff1a;C/Python语言 &#x1f449;公众号&#x1f448;&#xff1a;测试开发自动化【获取源码商业合作】 &#x1f449;荣__誉&#x1f448;&#xff1a;阿里云博客专家博主、5…

CleanShot X - 超好用苹果电脑截图录屏工具

Mac 自带的截图工具十分鸡肋&#xff0c;不仅功能少&#xff0c;无法长截图外&#xff0c;也不支持 GIF 制作&#xff0c;很难满足日常做图需求。 CleanShot X 是一款 Mac 平台近乎无可挑剔的专业截图录屏工具 &#xff0c;能完美代替 Mac 自带截图。它提供超过 50 项功能&…

嵌入式学习——硬件(s3c2440外部中断、定时器中断)——day54

1. start.s preserve8area reset, code, readonlycode32entryldr pc, startnopnopnopnopnop ldr pc, interrupt_handlernopstartldr sp, 0x40001000mrs r0, cpsrbic r0, r0, #0x1Forr r0, r0, #0x12;IRQbic r0, r0, #(1 << 7);打开IRQ中断允许msr cpsr_c, r0ldr …

Nacos配置中心客户端源码分析(一): 客户端如何初始化配置

本文收录于专栏 Nacos 推荐阅读&#xff1a;Nacos 架构 & 原理 文章目录 前言一、NacosConfigBeanDefinitionRegistrar二、NacosPropertySourcePostProcessor三、AbstractNacosPropertySourceBuilder总结「AI生成」 前言 专栏前几篇文章主要讲了Nacos作为服务注册中心相关…

zabbix server client 安装配置

Zabbix Server 采用源码包部署&#xff0c;数据库采用 MySQL8.0 版本&#xff0c;zabbix-web 使用 nginxphp 来实现。具体信息如下&#xff1a; 软件名 版本 安装方式 Zabbix Server 6.0.3 源码安装 Zabbix Agent 6.0.3 源码安装 MySQL 8.0.28 yum安装 Nginx 1.20…

Ubuntu20.04安装vimplus插件

参考文章&#xff1a; Ubuntu Linux下vimplus的安装及使用安装vimplus之后乱码问题解决 1、安装步骤&#xff1a; $ git clone https://github.com/chxuan/vimplus.git ~/.vimplus$ cd ~/.vimplus$ ./install.sh2、./install.sh 过程 出现选择是否备份 /home/yin-roc/.vim…

一个中文和越南语双语版本的助贷平台开源源码

一个中文和越南语双语版本的助贷平台开源源码。后台试nodejs。 后台 代理 前端均为vue源码&#xff0c;前端有中文和越南语。 前端ui黄色大气&#xff0c;逻辑操作简单&#xff0c;注册可对接国际短信&#xff0c;可不对接。 用户注册进去填写资料&#xff0c;后台审批&…

库存管理系统基于spingboot vue的前后端分离仓库库存管理系统java项目java课程设计java毕业设计

文章目录 库存管理系统一、项目演示二、项目介绍三、部分功能截图四、部分代码展示五、底部获取项目源码&#xff08;9.9&#xffe5;带走&#xff09; 库存管理系统 一、项目演示 库存管理系统 二、项目介绍 基于spingboot和vue前后端分离的库存管理系统 功能模块&#xff…

热题系列章节7

剑指 Offer 04. 二维数组中的查找 题目描述&#xff1a; 在一个二维数组中&#xff08;每个一维数组的长度相同&#xff09;&#xff0c;每一行都按照从左到右递增的顺序排序&#xff0c;每一列都按照从上到下递增的顺序排序。请完成一个函数&#xff0c;输入这样的一个二维数…

Go 语言环境搭建

本篇文章为Go语言环境搭建及下载编译器后配置Git终端方法。 目录 安装GO语言SDK Window环境安装 下载 安装测试 安装编辑器 下载编译器 设置git终端方法 总结 安装GO语言SDK Window环境安装 网站 Go下载 - Go语言中文网 - Golang中文社区 还有 All releases - The…

策略模式在金融业务中的应用及其框架实现

引言 策略模式&#xff08;Strategy Pattern&#xff09;是一种行为设计模式&#xff0c;它允许在不修改客户端代码的情况下&#xff0c;动态地改变一个类的行为。它通过定义一系列算法并将它们封装在独立的策略类中&#xff0c;使这些算法可以互相替换&#xff0c;而不会影响…

各维度卷积神经网络内容收录

各维度卷积神经网络内容收录 卷积神经网络&#xff08;CNN&#xff09;&#xff0c;通常是指用于图像分类的2D CNN。但是&#xff0c;现实世界中还使用了其他两种类型的卷积神经网络&#xff0c;即1D CNN和3D CNN。 在1D CNN中&#xff0c;内核沿1个方向移动。1D CNN的输入和…