Node.js 创建反应应用构建

Node.js create-react-app build

我是网络开发的新手,我被要求使用我选择的工具创建一个单页应用程序。唯一的要求是它必须在 GlassFish 服务器上本地 运行(在 NetBeans 中:Java Web > Web Application)。我使用 Facebook 提供的 create-react-app 入门工具包来构建应用程序。当我 运行 npm run build 我得到一个包含 html 文件和 js 文件的构建文件夹。但是当我双击 html 文件时,浏览器打开并只显示一个空白页面。有谁知道我必须配置什么才能获得捆绑的 html-文件,当我打开它时显示应用程序?

谢谢

在您的 create-react-app 生成的代码上 运行ning "npm run build" 之后,它会显示说明以帮助解决此问题。它说的是这样的:

You may also serve it locally with a static server:

npm install -g pushstate-server
pushstate-server build

第一个命令“npm install -g pushstate-server”只需要 运行 一次,因为它将 "pushstate-server" 安装到全局 NPM。第二个命令“pushstate-server build”运行 是简单的静态服务器,pushstate-server,并提供位于 http://localhost:9000 的 "build" 文件夹中的任何内容。您可以根据需要更改端口号,方法是在命令行末尾添加:“pushstate-server build 1234

UDPATE:无服务器方法...

如果您的目标是 运行 来自文件系统而非网络服务器的页面,您需要调整 build/index.html 以修复您的 JS 和 CSS(更重要的是,你的 favicon.ico)。 create-react-app 生成的 index.html 期望您的 JS 和 CSS 位于“/static/...”。但是,当您从文件系统打开时,该路径不正确。如果您删除前导正斜杠,使 URL 成为相对的,您的页面将从文件系统正确加载:

运行宁"npm run build"后,打开生成的"build/index.html"文件。从“/favicon.ico”、“/static/js/main.[random string].js”和“/static/css/main.[random string].css”中删除前导正斜杠并保存您的更改(以便全部读取 "static/..." 而不是“/static/...”)。 Reload/refresh浏览器中的页面。