golang打包vue的代码
由于vue的渲染和golang的template的渲染有冲突,如果去修改他们使用的渲染操作,虽然也可以解决,但是不友好。
我因为这个浪费了一个早上,后来就去百度谷歌了。 就找到了 https://github.com/gin-contrib/static
利用golang1.16版本之后的embed,真的很牛逼。
下面写一个简单的示例:
# 自己下载npm,百度就有,也可以apt update && apt-get install 下载
npm config set registry https://registry.npm.taobao.org
npm install -g @vue/cli
vue create ui
cd ui
npm run build
cd ..
cat > main.go << EOF
package main
import (
"embed"
"fmt"
"net/http"
"github.com/gin-contrib/static"
"github.com/gin-gonic/gin"
)
//go:embed ui/dist
var data embed.FS
// 上面就会把数据加载到data里面
func main() {
r := gin.Default()
// 把上面加载的数据,加载到gin里面进行打包
r.Use(static.Serve("/", static.EmbedFolder(data, "ui/dist")))
r.GET("/ping", func(c *gin.Context) {
c.String(200, "test")
})
r.NoRoute(func(c *gin.Context) {
fmt.Printf("%s doesn't exists, redirect on /\n", c.Request.URL.Path)
c.Redirect(http.StatusMovedPermanently, "/")
})
// Listen and Server in 0.0.0.0:8080
r.Run(":8080")
if err := r.Run(":8080"); err != nil {
fmt.Println(err)
}
}
EOF
# 运行上面的go代码
go mod init hank
go mod tidy
# go run main.go # 测试一下
go build
golang打包vue的代码的更多相关文章
- 教你用Cordova打包Vue项目
现在国内越来越多的开发者使用Vue开发混合app,但是当大家开发完成过后才发现不知道该怎么将Vue项目打包成app. 据我现在的了解打包Vue项目目前流行的就是使用weex和cordova.weex是 ...
- 使用electron-packager electron-builder electron-updater 打包vue项目,支持在线更新
1.如何用electron-packager electron-builder打包vue项目,打包成桌面程序. 步骤一. 执行npm run build 打包你的vue项目. 打包成功后,生成dist ...
- Jenkins 实现前端自动打包,自动部署代码及邮件提醒功能
在之前的公司,我们前端使用webpack构建项目,项目构建完成后,我们会使用ftp或linux的一些命令工具上传我们的文件到服务器上,这种方式虽然是可以,但是最近面试的时候,人家会问我前端如何部署项目 ...
- webpack打包vue单文件组件
一.vue单文件组件 ①文件扩展名为 .vue 的 就是single-file components(单文件组件) ②参考文档:单文件组件 二.webpack加载第三方包 ①项目中,如果需要用到一些第 ...
- electron打包vue项目
electron是什么 Electron是由Github开发,用HTML,CSS和JavaScript来构建跨平台桌面应用程序的一个开源库. Electron通过将Chromium和Node.js合并 ...
- 使用Cordova打包Vue项目
因为公司项目要求, 原本的vue移动端项目, 现在要求能使用定位, 调用摄像头等功能, 并且开发成混合APP. 一个小白的孤军奋战史, 记录一下, 以备后用.... 第一步: 安装cordova 在命 ...
- webpack打包vue文件报错,但是cnpm run dev正常,最后我只想说:是我太笨,还是webpack4.4版本太坑
最近做一个项目,需要使用webpack打包 .vue 文件的单页面应用,调试都正常,使用cnpm run dev 都可以,就是webpack打包时报错.如下: ERROR in ./src/App.v ...
- webpack打包vue项目之后生成的dist文件该怎么启动运行
亲测,webpack打包vue项目之后生成的dist文件可以部署到 express 服务器上运行. 我的vue项目结构如下: 1. 进入该vue项目目录,打开git bash,执行:npm run b ...
- vscode写vue模板--代码片段
Ctrl+Shift+P打开命令输入 snippet (打开用户代码片段) 在输入vue(选择代码片段的语言) 如果搜索不到,安装一个插件 vueHelper 如果搜索到复制粘贴以下代码 { &quo ...
- mui打包vue项目
1,新建app项目,打包vue,修改config/index.js的输出路径 2,把build打包后的dist目录下的文件拷到app目录下 3.修改app下面的index文件,改变压缩格式,修改“/s ...
随机推荐
- Google Cloud Function函数访问AWS的Redis服务(二)
上一章介绍了使用VP嗯将Google Cloud和AWS的网络连通,这里介绍如何使用:使用Google Cloud Function 访问AWS的Redis服务. 一:Google Cloud 创建 ...
- 利用DNSLOG测试Fastjson远程命令执行漏洞
由于内容比较简单,我直接贴图,怕我自己忘了. 测试Fastjson版本号:1.2.15 直接发送用burpsuite发送payload,将dataSourceName改成dnslog获取到的域名. p ...
- Annotation注释详解~
注释: jdk5.0后,Java增加了对元数据的支持.也就是Annotation(注释). 他是是代码中的特殊标记,可以在代码编译,类加载,运行时被读取,并执行相应的处理.这样用Annotation开 ...
- java基础之运算符的优先级
运算符的优先级(从高到低) 优先 描述 运算符 1 括号 ().[] 2 正负号 +.- 3 自增自减,非 ++.--.! 4 乘除,取余 *./.% 5 加减 +.- 6 移位运算 << ...
- 借助HarmonyOS SDK,《NBA巅峰对决》实现“分钟级启动”到“秒级进场”
<NBA巅峰对决>是由望尘科技推出的国内首个真实还原5V5王朝模式的操作篮球手游,提供流畅操作手感和真实篮球赛场体验.丰富的玩法在为玩家带来高质游戏体验的同时,间接带来了启动流程冗长的问题 ...
- java有关正则表达式的工具方法集合1
1.获取某字符串中汉字的个数 1 ... 2 private int getChineseCount(String text) { 3 String Reg = "^[\u4e00-\u9f ...
- TeX,LaTeX和KaTeX
TeX 计算机排版系统 七十年代末,Donald E. Knuth在看自己的<电脑编程的艺术>校样时,感觉计算机排版的校样质量低到无法忍受,于是决定自己开发一个高质量的计算机排版系统,这样 ...
- 前端开发系列062-网络篇之前端开发Ajax简单介绍
一.Ajax技术简单介绍 Ajax是一门异步的用于发送网络请求的技术. 全称为:Async javascript and XML. 简单说明:Ajax 这个概念是由 Jesse James Garre ...
- 苏州中学oj P202504A 题解
题目描述 小 \(S\) 是符文魔法师 , 他绘制了一种仅由字符 \(AB\) 组成的魔法符文 魔法符文每天都会变化 具体来说 , 每天开始时最左边的符文会改变类型 (即从 \(A\) 变为 \(B\ ...
- 无重复字符最长子串无重复字符最长子串 leetcode 3
简介 使用滑动窗口 https://leetcode-cn.com/problems/longest-substring-without-repeating-characters/solution/h ...