【发布时间】:2017-11-28 13:59:57
【问题描述】:
我已经构建了一个 react/webpack 应用程序,其公共目录 dist 包含 index.html 和 bundle.js。 index.html 使用<script src="./bundle.js /> 链接到捆绑包,我想为所有路由提供index.html(因为 react-router 处理路由)。但是对于/demos/:name,当name 有一个值时,我想发送一个静态文件。例如,/demos 渲染为反应组件(服务器发送 index.html),/demos/one 将被我的服务器解释为从服务器请求/demos/one.html。到目前为止,我已经尝试过这样的:
var express = require('express');
var app = express();
app.get("demos", (req,res) => {
res.sendFile(__dirname + "/dist/index.html")
})
app.get("demos/:name", (req,res) => {
const { name } = req.params
res.sendFile(__dirname + `./demos/${name}.html`);
})
app.use("*", express.static('dist'));
var server = app.listen(8080, function () {
var {host, port} = server.address()
console.log(`listening at http://${host}:${port}`)
})
但是,我在浏览器控制台中不断收到Uncaught SyntaxError: Unexpected token <。
【问题讨论】:
标签: express