无法在 expressjs 中为前端和后端使用多个静态路径
unable to use multiple static paths for frontend and backend in expressjs
我正在创建一个 nodejs/backbone 应用程序并希望保持后端和前端的目录不同。这是我的目录结构:
├── backend
│ ├── api
│ ├── file-uploads
│ └── ui
│ ├── assets
│ │ ├── css
│ │ ├── images
│ │ └── js
│ └── index.html
├── frontend
│ ├── assets
│ ├── index.html
│ └── modules
├── index.js
├── npm-debug.log
└── package.json
在 index.js 文件中,我有以下代码
app.use(express.static('/admin',__dirname + '/backend/ui/'));
app.use(express.static(__dirname + '/frontend/'));
现在 url / 工作正常并在 /frontend 目录中显示 index.html 文件,但 url /admin 不工作。我期待它在 /backend/ui/ 目录中显示 index.html 文件。我哪里出错了?
您需要将 URL 路径 '/admin'
传递给 app.use([path], function)
rather than express.static(root, [options])
:
app.use('/admin', express.static(__dirname + '/backend/ui/'));
app.use(express.static(__dirname + '/frontend/'));
中间件只需要一个路径,因此它目前正在尝试从您硬盘上的 /admin
目录提供文件。
我正在创建一个 nodejs/backbone 应用程序并希望保持后端和前端的目录不同。这是我的目录结构:
├── backend
│ ├── api
│ ├── file-uploads
│ └── ui
│ ├── assets
│ │ ├── css
│ │ ├── images
│ │ └── js
│ └── index.html
├── frontend
│ ├── assets
│ ├── index.html
│ └── modules
├── index.js
├── npm-debug.log
└── package.json
在 index.js 文件中,我有以下代码
app.use(express.static('/admin',__dirname + '/backend/ui/'));
app.use(express.static(__dirname + '/frontend/'));
现在 url / 工作正常并在 /frontend 目录中显示 index.html 文件,但 url /admin 不工作。我期待它在 /backend/ui/ 目录中显示 index.html 文件。我哪里出错了?
您需要将 URL 路径 '/admin'
传递给 app.use([path], function)
rather than express.static(root, [options])
:
app.use('/admin', express.static(__dirname + '/backend/ui/'));
app.use(express.static(__dirname + '/frontend/'));
中间件只需要一个路径,因此它目前正在尝试从您硬盘上的 /admin
目录提供文件。