如何解决如何从 Swift 项目中的 Next.js 项目运行 yarn dev?
在复制文件构建阶段,我有一个包含 Next.js 项目的目录,“仅在安装时复制”到“资源”目标。我还有一个 Resources
文件夹,其中包含 web
项目目录
在我的 AppDelegate 中,我正在加载目录,但不清楚如何在其中/在其上运行 yarn dev
。
if let url = Bundle.main.url(forResource: "web",withExtension: nil) {
let process = Process()
// Unsure what to do here to run `yarn dev` and start my local server.
do {
try process.run()
}
catch {
print("some error occurred")
print("")
}
}
我怎样才能让它正常工作?
谢谢!
编辑
这是一个全新的项目,所以我现在只使用 index.js
项目中的 web
文件。通常在终端中,我只需 cd
进入 web
并运行 yarn dev
以在 localhost:3000
处启动服务器,所以这基本上就是我在这里尝试做的。谢谢
解决方法
假设您已将 shell 脚本放在主应用程序的 Resources 文件夹中,并且您运行的是 macOS 10.13 或更高版本,请使用以下代码:
if let url = Bundle.main.url(forResource: "run_server",withExtension: "sh") {
guard let resourcesURL = Bundle.main.resourceURL else { return }
let webURL = resourcesURL.appendingPathComponent("web")
let process = Process()
process.launchPath = "/bin/bash"
process.arguments = [url.path,webURL.path]
do {
try process.run()
}
catch {
// handle any errors here
}
}
关于你的脚本,我会使用这样的东西:
#!bin/bash
cd $1
yarn dev -p 3000
$1 将设置为作为第二个参数传递给将运行您的 shell 的 process
的路径。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。