Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/34.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 如何将react应用程序部署为单个文件?_Node.js_Reactjs_Web Deployment - Fatal编程技术网

Node.js 如何将react应用程序部署为单个文件?

Node.js 如何将react应用程序部署为单个文件?,node.js,reactjs,web-deployment,Node.js,Reactjs,Web Deployment,React web应用程序我不熟悉。但是,我必须构建并部署到服务器 根据其他人的说法,我必须这样做 用tar压缩整个react项目 将tar上传到服务器 npm安装-npm运行编译(执行webpack.config.js中所述的一些操作)-npm启动 然而,我觉得很奇怪。我们的java项目构建输出是60MB,但前端源代码几乎是700MB Added some extra opinion. The size of the project is... - original node projec

React web应用程序我不熟悉。但是,我必须构建并部署到服务器

根据其他人的说法,我必须这样做

  • 用tar压缩整个react项目
  • 将tar上传到服务器
  • npm安装
    -
    npm运行编译
    (执行
    webpack.config.js
    中所述的一些操作)-
    npm启动
  • 然而,我觉得很奇怪。我们的java项目构建输出是60MB,但前端源代码几乎是700MB

    Added some extra opinion.
    The size of  the project is...
    
    - original node project
    - include webpack output directory
    - npm module directory and build directory
    
    Anyway, I can not get why do I still need the original source code?
    I already have build output file
    
    此外,为什么要在目标服务器中安装
    npm
    因此,我认为这(使用tar)不是部署react web应用程序的好方法

    所以我想知道正确的部署方式。
    谢谢

    对于我来说,从create-react应用程序生成的脚手架代码开始,效果很好。你可能想用它 -

    我也不清楚,为什么前端会是“700”MB。假定您正在构建单页应用程序或类似的应用程序,开发和部署工作流程类似于-

  • 发展
    • 在开发机器上安装节点(最终安装npm)
    • 使用npm安装create react应用程序
    • 获取使用“创建反应应用程序”命令行创建的反应应用程序
    • 从应用程序目录内部发出命令“npm start”,启动为应用程序服务的开发服务器
    • 更改源代码以生成应用程序
  • 部署
    • 当应用程序部署就绪时。在应用程序目录中,发出命令“npm run build”可以在可配置的构建目录(通常为-build)中为文件提供服务
    • 要部署,只需压缩和/或分发目录本身
  • 这里需要注意的一点是,运行构建的源代码不需要节点和/或npm。在开发应用程序时需要它们。这主要是因为构建过程创建了一个包含应用程序所需的所有JS和包的包。另外,至少在部署时,您不必担心web包等任何事情

    一些参考资料(提供:谷歌)指出了正确的方向-


    我不知道您的具体设置,但最常见的方法是在本地构建应用程序,并将编译后的文件推送到服务器。Webpack在单个文件中编译所有内容,并根据应用程序和Webpack配置将其保存在一个JavaScript文件中

    最后,您只需要一个可以服务静态文件的Web服务器。因此,无需运行
    npm start
    ,这在大多数情况下都是开发服务器