所以我有一个在本地主机上使用npm start可以正常运行的react build。当我使用npm run build并让我的快速服务器加载该构建时,它会将index.html页读取为/static/js/main.xxxx.js文件。当浏览器将html解释为javascript时,这会导致语法错误。在将其放入vps之前,我试图使其在localhost:3000上运行。在这里:
Routes.js:
app.get('*', (req, res)=>{
res.sendFile(path.join(__dirname, '../build/index.html'));
})
反应package.json:
{
"name": "testapp",
"version": "0.1.0",
"private": true,
"dependencies": {
"axios": "^0.18.0",
"react": "^16.4.1",
"react-dom": "^16.4.1",
"react-redux": "^5.0.7",
"react-router-dom": "^4.3.1",
"react-scripts": "1.1.4",
"redux": "^4.0.0",
"redux-thunk": "^2.3.0"
},
"scripts": {
"start": "set PORT=3001 && react-scripts start",
"build": "react-scripts build",
"test": "react-scripts test --env=jsdom",
"eject": "react-scripts eject"
},
"proxy": "http://localhost:3000"
}
它试图读为main.js的内容:
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"><meta name="viewport" content="width=device-width,initial-scale=1,shrink-to-fit=no"><meta name="theme-color" content="#000000"><link rel="manifest" href="/manifest.json"><link rel="shortcut icon" href="/favicon.ico"><title>imi apps</title><link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous"><link href="/static/css/main.f7f358ea.css" rel="stylesheet"></head><body><noscript>You need to enable JavaScript to run this app.</noscript><div id="root"></div><script type="text/javascript" src="/static/js/main.52802924.js"></script></body></html>
有人能解决这个问题吗?