【发布时间】:2019-11-29 22:37:47
【问题描述】:
Create-React-App 在部署到 Heroku 后无法正常工作。我得到了 index.html 文件,并且从 html 中显示了测试元素,但是 react 应用程序(附加到 html 中的另一个 div)不起作用,并给出如下所示的错误:
Uncaught SyntaxError: Unexpected token '<'
main.ca3192ef.chunk.js:1 Uncaught SyntaxError: Unexpected token '<'
manifest.json:1 Manifest: Line: 1, column: 1, Syntax error.
("Unexpected token" - 在浏览器中点击时指向 html 的第一个 "console)
【问题讨论】:
-
你能在这里分享 package.json 吗?另一个问题,您是否通过节点服务器(express)为您的 react 应用程序提供服务?
-
@Mohammednaji ,上面是 package.json 截图;客户端和服务器文件夹都有自己的 index.js,客户端保存 create-react-app,服务器有起始 index.js,根目录下的 index.js 只是加载服务器目录中的那个(我添加它以防万一必须在云端拥有 index.js)
-
@Mohammednaji,是的,react 应用程序是通过节点服务器提供的;这是部署代码``` if (process.env.NODE_ENV === "production") { app.use(express.static('../client/build')); app.get('*', (req, res) => { var reqPath = path.join(__dirname, '../'); res.sendFile(path.resolve(reqPath, "client", "build", "index.html")) //__dirname 是当前目录 }) }
-
@DavitG 你试过使用create-react-app-buildpack 吗?它可以稍微简化部署过程。
-
@NKiD,我没有尝试过构建包,因为我不打算出现这样的错误,但我的 index.js 在部署后提供服务(如你所见的'test div' on截图,这意味着一些小修复可以解决整个问题)。我一定会看看的!谢谢
标签: node.js reactjs heroku deployment create-react-app