javascript - Expressjs静态javascript文件未加载

标签 javascript node.js express create-react-app

我正在使用 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

感谢帮助评论提示。

folder-structure

最佳答案

您正在尝试获取 /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/

相关文章:

javascript - 如何在 JQuery 中选择一个对象?

javascript - 对象预期错误,javascript,jQuery

javascript - hogan js 中的复杂迭代逻辑?

javascript - 单元测试异步 Express 中间件

node.js - 为什么 app.engine 不默认使用 layout.hbs 作为默认值

javascript - 如何更改嵌套 JSON 对象中所有属性的值?

javascript - jQuery 只能通过选择 ID 来工作,而不是通过选择类来工作

javascript - NPM 注册表 API,通过 JSON 响应查看包的内部结构和文件

javascript - 如何每隔 'x' 小时向 Slack 发送一条消息?

node.js - 使用 NodeJs 获取输出 zip 文件的大小