Golang报错:系统找不到指定的路径怎么办
Golang报错:系统找不到指定的路径怎么办 我正在使用ReactJS作为前端,Go作为后端,MySQL作为数据库。在解析.js文件时遇到了错误。
以下是解析文件中的代码:
func init() {
db, err = sql.Open("mysql", "root:root@/hrms")
tpl, err = template.ParseFiles("src/app/Employee/*.js")
if err != nil {
log.Fatal(err)
}
}
我的文件夹结构是src/app,在app文件夹中有不同的子文件夹包含js文件。子文件夹如:src/app/home/index.js、src/app/Admin/AdminUsers.js
我还创建了另一个文件夹src/app/go/personalDetails.go,其中包含go文件
那么如何通过Go访问js文件。
请帮我解决这个问题…非常紧急
更多关于Golang报错:系统找不到指定的路径怎么办的实战教程也可以访问 https://www.itying.com/category-94-b0.html
简单来说,我无法从Go文件中解析我的JavaScript文件。
你是否阅读并理解了“相对于工作目录”的相关内容?
NobbZ:
src/app/Employee/*.js
系统仍然提示找不到路径
我的前端使用ReactJS,因此不会有任何HTML文件。它只包含JS文件…为了查看我的前端界面,我需要解析JS文件。
srikanth32:
这是我的项目文件夹结构
大部分不相关。
相关的是你启动二进制文件时的工作目录。
那么你为什么要用 Go 解析 JS 文件呢?
你是想在遍历它们的 AST 时转换它们吗?还是只想将它们发送到任何地方?或者你想让它们在给定的上下文中执行?
但是 Go 不需要知道你的 JS 文件就能做到这一点。
你的前端应该向指定端点发送包含 JSON 数据的请求。
你的 Go 应用程序知道如何处理这个 JSON 并将其存储到数据库中。
除了指定的 API 之外,它不需要了解关于你应用程序的任何信息。
text/template 具有相同的接口。请随意选择一个。
你可能也需要为旧代码导入其中一个。
另外,我不了解 reactjs,所以不明白你在那里怎么会出错。
// 代码部分保持原样
我没理解您说的是什么意思?
这是我的包含Go文件的go文件夹
你的 Go 代码与 React 项目之间是什么关系?
你的 Go 代码是打算作为客户端吗?还是用来提供 React 应用服务?
你说过你的 React 项目原本运行正常,但加入 Go 语言后就出问题了。那么你加入 Go 的目的是想实现什么功能?
你仍然没有告诉我们启动时 Go 应用程序的工作目录是什么,以及它的运行环境是怎样的。
引用:
template.ParseFiles(“src/app/Employee/*.js”)
这将尝试打开相对于程序启动目录的 src/app/Employee 文件夹中字面名为 *.js 的文件。
或许你实际上想使用 ParseGlob 来代替?
除此之外,我不太明白你的问题是什么…
petkop:
repoFrontend := "/path/to/repofrontend/"
http.Handle("/static/",http.StripPrefix("/static/",
http.FileServer(http.Dir(repoFrontend))))
你能告诉我怎么写那个json吗……我对此一无所知
是的,但问题在于如果我使用 parseglob 就需要导入 html/template…这会导致错误,因为我的整个项目前端使用的是 ReactJS。所以如果需要在整个项目中导航或解析…你现在理解问题了吗?
这是我的项目文件夹结构
例如,我有一个页面 personaldetails.js,其中包含需要填写的文本框…如果我们填写这些文本框,那么数据应该保存到 MySQL 数据库中…因此我使用 Go 来保存我的应用程序或项目的详细信息。
我的 Go 目录是 src/app/go/ go run personalDetails.go
我理解你正在使用reactjs,也明白你的Go代码找不到文件。
但我不理解的是,你为什么如此坚持使用这种方式处理react。
首先需要解决的问题是模板能够被渲染并传递给客户端。只要你的Go服务器找不到模板或无法正确渲染它们,客户端就无关紧要。当且仅当Go正确完成它的工作后,那时你才应该在reactjs论坛询问为什么你的JavaScript代码不工作。
另外,你仍然没有展示你是如何启动服务器的,从哪里启动的,以及启动服务器时工作目录下的文件树结构是怎样的。
或许实际展示更多错误信息,或者提供一个精简的GitHub仓库来展示你的问题和处理过程会更好。
根据我的理解,你正在使用JavaScript处理前端界面,而Go语言用于后端开发。
为了在Go中使用JavaScript文件,你需要提供静态文件服务,而不是解析或打开它们。
package main
import (
"net/http"
)
func main(){
repoFrontend := "/path/to/repofrontend/"
http.Handle("/static/",http.StripPrefix("/static/",
http.FileServer(http.Dir(repoFrontend))))
err := http.ListenAndServe(":9999", nil)
if nil != err {
panic(err)
}
}
![]()
使用Go提供静态文件服务

Shaked Klein Orbach的博客
能告诉我怎么写那个JSON吗……我对此一无所知
我认为 @NobbZ 想向你建议的是:
你的后端将使用 Go 编写,与数据库交互,并暴露一些 API 来处理数据交换。一旦你的所有 API 功能正常,你的 UI 将向你的后端发起 API 调用,请求用户信息、存储数据等。
另一种使用 JavaScript 和 Go 的可能方式是使用原生库:
示例 https://gopherjs.github.io/playground/
再次说明,这只是通用指南,因为我不熟悉你的应用程序架构。希望这对你有所帮助。


