我在Vercel上部署了一个Express.js服务器(使用NowCLI),在我的index.js文件中,我使我的dash/assets文件夹中的每个文件都在assetsDash/使用app.use('/assetsDash', express.static(path.join(__dirname, 'dash', 'assets')))
服务,这是有效的,但是.js文件不被服务(顺便说一下,这个工作在localhost上,但不是与Vercel)。
index.js
// Import FS and Path
const fs = require('fs')
const path = require('path')
// Prepare an web server using express.js
const express = require('express')
const app = express()
// Add pages to the website
// Assets
app.use('/assetsLanding', express.static(path.join(__dirname, 'landing', 'assets')))
app.use('/assetsDash', express.static(path.join(__dirname, 'dash', 'assets')))
// Start the web server
const server = app.listen(process.env.PORT || 3000, () => {
console.log(`Started on ${server.address().port} port`);
});
now.json
{
"version": 2,
"builds": [{
"src": "./index.js",
"use": "@now/node-server"
}],
"routes": [{"handle": "filesystem"},
{
"src": "/.*",
"dest": "index.js"
}
]
}
Edit:我设法通过VercelCLI取代NowCLI来解决这个问题:通过NPM安装@vercel/node
,然后通过vercel.json
重命名now.json
文件并替换文件中的一行。
"builds": [{
"src": "./index.js",
- "use": "@now/node-server"
+ "use": "@vercel/node"
}],