Node.js 呈现svg文件并使用express为其提供服务

Node.js 呈现svg文件并使用express为其提供服务,node.js,express,svg,Node.js,Express,Svg,我想知道如何使用Express呈现和提供svg文件 现在,我可以将svg用作原始XML文件。以下是我正在做的: 路线 router.get('/status', function (req, res, next) { res.setHeader('Content-Type', 'image/svg+xml'); res.sendFile(path.join(__dirname, '../views/status.svg')); }); svg <svg width="400" h

我想知道如何使用Express呈现和提供svg文件

现在,我可以将svg用作原始XML文件。以下是我正在做的:

路线

router.get('/status', function (req, res, next) {
  res.setHeader('Content-Type', 'image/svg+xml');
  res.sendFile(path.join(__dirname, '../views/status.svg'));
});
svg

<svg width="400" height="180">
  <rect x="50" y="20" rx="20" ry="20" width="150" height="150" style="fill:red;stroke: black;stroke-width:5;opacity:0.5" />
</svg>


当我点击该路径时,svg文件的原始XML被提供给浏览器。如何首先将其呈现为SVG图像,然后提供给用户?

将您的SVG文件修改为

<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="400" height="180">
  <rect x="50" y="20" rx="20" ry="20" width="150" height="150" style="fill:red;stroke: black;stroke-width:5;opacity:0.5" />
</svg>

将SVG文件修改为

<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" version="1.1" width="400" height="180">
  <rect x="50" y="20" rx="20" ry="20" width="150" height="150" style="fill:red;stroke: black;stroke-width:5;opacity:0.5" />
</svg>


如果不先渲染,浏览器会渲染它。如果不先渲染,浏览器会渲染它。解释:这些(xmlns)属性定义名称空间,浏览器需要这些属性来识别标记是SVG,而不是来自其他规范的其他SVG元素。解释:这些(xmlns)属性定义名称空间,浏览器需要这些名称空间来识别标记是SVG,而不是来自其他规范的其他SVG元素。