Node.js create-react-app build

时间:2017-01-24 18:33:30

标签: javascript node.js reactjs glassfish create-react-app

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

谢谢

1 个答案:

答案 0 :(得分:4)

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

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,并提供" build"中的任何内容。 http://localhost:9000处的文件夹。您可以根据需要更改端口号,方法是在命令行末尾添加端口号:" pushstate-server build 1234"

UDPATE:无服务器方法......

如果您的目标是从文件系统而不是从Web服务器运行页面,那么您需要调整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 /...")。在浏览器中重新加载/刷新页面。