表达# 39;response.sendFile()发送Uncaught SyntaxError: Unexpected
express' response.sendFile() sends Uncaught SyntaxError: Unexpected token <
我使用react-router与browserHistory。这个函数:
app.get('*', function (request, response){
response.sendFile(path.join(__dirname + "/public/index.html"))
})
应该发送Index.html,因为路由是在客户端使用react-router进行的。但不知何故,我的index。html被服务器误解了,我得到了这个错误:
Uncaught SyntaxError: Unexpected token <</p>
我不知道这是什么问题。文件路径错误?我的树是这样的:
/app
/app/myJavascriptStuff.js
/public
/public/index.html
/moreStuffThatsNotRelevant
/server.js <- my express file
如果没有上述功能,我的页面通常会响应:
Cannot GET/whatever
在localhost:3000(例如localhost:3000/其他)上刷新页面
因为我意识到我不擅长描述事物,这里有一个到存储库的链接。
帮助是非常感激的。:)
问题可能是因为您发送的每个请求都是index.html
,即使浏览器通过
bundle.js
或style.css
app.get('*', function (request, response){
response.sendFile(path.join(__dirname + "/public/index.html"))
});
定义一个public
文件夹,从这里可以提供这些文件,比如公共(在您的github repo中有您的index.html
)。让webpack在该文件夹中生成bundle.js
。还要指出你的index.html
使用bundle.js
从该文件夹。
接下来在你的server.js
你需要做一些改变。让express
在浏览器请求时使用公共路径来提供这些文件。
例如-
const app = express();
const publicPath = express.static(path.join(__dirname, 'public'), { redirect : false });
const indexPath = path.join(__dirname, 'public/index.html');
app.use(publicPath);
app.get('/', function (_, res) { res.sendFile(indexPath) });
app.get('*', function (_, res) { res.sendFile(indexPath) });
首先你没有用你的webpack构建bundle.js文件。在你提供服务之前,你需要先构建它。
更改您的包。Json脚本到
"scripts": {
"build": "webpack --progress --color --config webpack.config.js --watch",
"start": "node server.js"
}
并在运行服务器之前运行命令npm run build
。
如果你的webpack bundle.js没有在/public/build
目录下创建,那么在public目录下创建一个目录build
,然后再运行上面的命令。
- 如何为json对象中的段发送array[]
- 我想使用模态通过php文件发送邮件,并且我希望在提交关闭后关闭pop
- 在验证和发送邮件后更改联系人表单的 html
- 扩展SVGTextElement时出现Typescript Uncaught TypeError
- 将Javascript数组发送到控制器ASP.NET MVC
- 如何将字符串值从php页面发送到java脚本页面
- 使用angularjs向浏览器发送servlet响应(下载功能)
- 如何使用Socket.io将命令从客户端发送到服务器
- 是什么让一个“;Uncaught RangeError:超过了最大调用堆栈大小“;错误(Chrome,在其他浏览器中显示
- MockJax没有在JavaScript应用程序中发送对我AJAX请求的响应
- 如何在react js中将值从一个组件发送到另一个组件
- 将日期时间作为 JSON 发送将无法在我的视图中正确显示
- 我的shareService在angular 2中发送值工作正常,但当我渲染我的另一个组件时,会获得默认值
- 如何将javascript事件从web浏览器wpf控件发送到wpf的c#代码
- 如何使用Javascript将空数组发送到PHP服务器
- 使用ajax将数据从一个步骤发送到下一个步骤的3步表单
- Uncaught InvalidStateError:无法执行'发送'在'WebSocket
- Uncaught TypeError:从Django表单发送AJAX时没有方法ajaxSend
- 表达# 39;response.sendFile()发送Uncaught SyntaxError: Unexpected
- 在将数据发送到服务器后,我得到消息'Uncaught TypeError: Illegal invocation