express.js-如何在生产和开发中分别提供不同的静态文件夹?

时间:2018-12-19 05:43:10

标签: node.js express static-files

因此,基本上,我想在开发中提供../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'))
}

任何帮助将不胜感激。谢谢。

2 个答案:

答案 0 :(得分:1)

使用path.join(__dirname, '../client')

这将处理连接字符串时所需的/。请参阅文档:https://nodejs.org/api/path.html#path_path_join_paths

答案 1 :(得分:0)

肯定会出错的一件事是__dirname不能以斜杠结尾,从而导致这种情况。您需要在..前加一个斜杠才能获得有效路径。