我无法弄清楚如何使用express.js和webpack为静态资产设置Cache-Control标头。
在我的反应应用程序中,我包括如下静态图像:
<img src={require("./images/Logo.png")} alt="Logo"/>
我的webpack.config.js中有一个加载程序,它将图像输出到/ public / images
module: {
loaders: [
{
test: /\.png/,
loader: 'url-loader?limit=10000&name=public/images/[name].[ext]'
}]
}
最后,我将server.js中的/ public文件夹标记为包含静态资源并设置Cache-Control标头
const server = express();
server.use(express.static(path.join(__dirname, 'public'), {maxAge: "30d"}));
问题是require()
解析了路径,包括/ public folder:
<img class="full-width" src="/public/images/Logo.png" alt="Logo">
但express
需要一个没有public/
部分的网址。
有没有办法强制express.static()
在其路径中加入/public
?
答案 0 :(得分:7)
有没有办法强制
express.static()
在其路径中加入/public
?
绝对:
server.use('/public', express.static(path.join(__dirname, 'public'), {maxAge: "30d"}));