因此,基本上,我想在开发中提供../client
目录,该目录中有正在编辑的当前文件。但是,在生产期间,我有一个要提供的文件夹../client/dist
。我该如何实现?
我尝试制作一个简单的if
条件,但是由于某种原因,它似乎不起作用,并且无法加载文件。
const production = process.env.NODE_ENV === 'production'
if (production) {
app.use(express.static(__dirname + '../client/dist'))
} else {
app.use(express.static(__dirname + '../client'))
}
任何帮助将不胜感激。谢谢。
答案 0 :(得分:1)
使用path.join(__dirname, '../client')
。
这将处理连接字符串时所需的/
。请参阅文档:https://nodejs.org/api/path.html#path_path_join_paths
答案 1 :(得分:0)
肯定会出错的一件事是__dirname
不能以斜杠结尾,从而导致这种情况。您需要在..
前加一个斜杠才能获得有效路径。