Expressjs 静态 javascript 文件未加载

Expressjs static javascript file not loading

我正在使用 create-react-app 设置 express 服务器。

在控制台我得到

Uncaught SyntaxError: Unexpected token < bundle.js:1

当我点击错误时,它会显示主页 html。 在使用 morgan logger 时,它给了我 200 ok。

GET /static/js/bundle.js 304 1.145 ms - -

此外,当我查看源代码时,点击 css link 它显示 css 而点击 javascript link 它显示空白页面(主页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