node.js - 运行 npx 服务时未加载 Index.html(caddy、nodejs)
问题描述
我在 node.js 上运行 fastify,并使用 Caddy 服务器将 localhost 反向代理到一个域(authsvc.dev
),该域在这个 UI 项目中提供一个 index.html 文件。
直到几天前,一切都运行良好。现在,当我运行时,我npm run ui
在控制台中收到以下错误消息。未提供 index.html 文件。src/public/index.html 文件存在并且几天前可以使用,但可能有一些问题npx serve {{path-to-file}}
?请帮忙!
ERROR: Not able to read /{{path-to-proj}}/ui/src/public/index.html/serve.json: ENOTDIR: not a directory, open '/{{path-to-proj}}/ui/src/public/index.html/serve.json'
npx serve src/public/index.html exited with code 1
不确定 index.html/serve.json 在哪里或为什么试图被读取以及如何修复它。
我正在运行 macOS Big Sur v11.6
我尝试过的一些事情。
- 删除 node_modules 和
npm install
- 删除 package-lock.json 和
npm install
- 更新到最新的 npm
- 更改为不同版本的节点(现在在 v14.15.1 上)
- 清除 npm 缓存
rm -rf ~/.npm
npm clear cache
npx serve src/public/
-- 让我看到我在什么时候localhost:5000
,但不是authsvc.dev
我确实让 Caddy 运行并设置了反向代理。
{
local_certs
}
authsvc.dev {
reverse_proxy 127.0.0.1:5000
}
api.authsvc.dev {
reverse_proxy 127.0.0.1:4000
}
主机文件
127.0.0.1 authsvc.dev
127.0.0.1 api.authsvc.dev
package.json 脚本
"scripts": {
"all": "concurrently \"npm run server\" \"cd ../ui\" \"npm run ui\"",
"server": "cd ../api && npm run start",
"ui": "concurrently \"nodemon src/index.js\" \"npx serve src/public/index.html\"",
"ui1": "nodemon src/index.js",
"ui2": "npx serve src/public/",
"caddy": "caddy run",
"test": "node --experimental-vm-modules node_modules/jest/bin/jest.js --watchAll"
},
"dependencies": {
"colors": "^1.4.0",
"concurrently": "^6.2.2",
"cross-fetch": "^3.1.4",
"dotenv": "^10.0.0",
"fastify": "^3.22.0",
"fastify-static": "^4.2.3"
}
解决方案
服务不应采用 .html 文件,而是包含您的整个网站的文件夹。
你可以试试这个命令 : serve src/public/
,没有npx
前缀,通常它应该可以工作
推荐阅读
- sql - Join With Sub 查询 Joining Specific ID
- node.js - 使用 mongoose 在 mongo db 中存储图像
- java - 假设静态嵌套类与普通类相同是否正确?
- amazon-web-services - 克服 S3 中的 1000 个存储桶限制/使用接入点
- javascript - 在 JavaScript 中处理数组
- android - BiometricPrompt:BiometricFragment 和 Activity 内存泄漏
- java - 悬停时在 JFrame 上增亮图像(JLabel)
- flutter - 我将如何做一个侧面也有文字的侧面导航栏
- helix-3d-toolkit - 如何将 Viewport3DX 渲染为 DX11 纹理?
- php - (PHP) 身份验证帮助