我正在使用 create-react-app 设置 Express 服务器。
我得到的 AT 控制台
Uncaught SyntaxError: Unexpected token < bundle.js:1
当我点击错误时,它会显示主页 html。 在使用 morgan 记录器时,它给了我 200 ok。
GET /static/js/bundle.js 304 1.145 ms - -
此外,当我查看源代码时,单击 css 链接,它会显示 css,而单击 javascript 链接,它会显示空白页面(主页 html)。
这是服务器代码。
var express = require('express');
var bodyParser = require('body-parser');
var logger = require('morgan');
var path = require ('path');
var data = {};
express()
.use(logger('dev'))
.use(express.static(path.join(__dirname, 'flashcard-app/build')))
.use(bodyParser.json())
.get('/api/test', (req, res) => res.json("Great news every thing is working fine."))
.get('/api/data', (req, res) => res.json(data))
.post('/api/data', (req, res) => res.json(data = req.body))
.get('*', function(req, res) {
console.log('serving path:', path.join(__dirname+'/flashcard-app/build/index.html'));
res.sendFile(path.join(__dirname, 'flashcard-app/build/index.html'));
})
.listen(3333, function(){
console.log('server running at 3333');
});
此外,这是自定义的 server.js 文件,而不是express-generator 提供的文件。我的运行方式是node server_old.js
而不是使用./bin/www
感谢帮助评论提示。
最佳答案
您正在尝试获取 /static/js/bundle.js
,但 static/js
中没有 bundle.js
。
我认为您正在尝试使用 index.html
来尝试 bundle.js
而您的 webpack 配置构建 main.[hash].js
关于javascript - Expressjs静态javascript文件未加载,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44911271/