开发者社区> 问答> 正文

如何部署 node.js?

我用 node.js 和 react 做了一个小应用。之前写 node.js 或者 PHP 都是直接写好放在服务器运行的。这次第一次用 babel 和 webpack 这些工具,现在对如何部署完全没有头绪,希望能得到指点。
我在本地的项目包里有 src、lib 和 node_module 3个文件夹。我写的代码都在 src 里。lib 是 babel 的输出文件夹,这里的应该是实际运行的文件吧?
React 用到了 webpack、webpack-dev-server 和 react-hot-reload。前端的静态文件都是 webpack-dev-server 提供的。webpack 输出一个 app.js(硬盘里没有),在 HTML 里引用。其他 .js 和 .css 文件手动写在 HTML 里,从 webpack-dev-server 地址引用。
本地运行时是用 nodemon 启动和监控的。我的服务器上有 Nginx,之前跑着一个 node.js app,用 pm2 启动和监控。我知道怎么配置 Nginx 和怎么用 pm2,只是之前我都是直接写代码直接运行的,不涉及 babel 和 webpack,也没有加入 React。
问题 1:我是应该把整个项目文件夹放上服务器,还是只把 lib 文件夹放上去?最笨的办法是不是可以在本地全部调试好之后,直接把 lib 当作完整项目内容放上去,像普通 app 一样运行?
问题 2:怎么处理 HTML 中的静态文件,需要手动把 HTML 里的 src 改成本地或者 CDN 地址?
问题 3:我看到有说要在 Express 里通过 configure 设置不同环境,这个的作用和思路是什么呢?是否必要步骤?
问题 4:上传到服务器之后我还需要继续开发,以前我就是通过 FTP 直接在线编辑文件和更新(FileZilla 自动上传)。不太清楚是否还可以这样做。也就是说现在上传到服务器上其实还是需要开发环境。
问题 5:怎么理解开发环境和生产环境的切换?这是一个物理动作,比如要换到不同的服务器、修改一些文件之类,还是只需要设置某一两个参数完成的?
不好意思,问题比较散而且基础。我希望最好能有一个思路和工作方式的介绍,我需要了解这些工具是如何作用的,不然只是看示例代码甚至 step-by-step 也没太大作用。

展开
收起
蛮大人123 2016-06-14 17:43:46 2837 0
1 条回答
写回答
取消 提交回答
  • 我说我不帅他们就打我,还说我虚伪

    问题 1:
    对于babel不熟悉,所以不是很清楚,猜想应该是把lib放上去
    问题 2:
    需要一个build step,https://medium.com/@okonetchnikov/long-term-caching-of-static-assets-with-webpack-1ecb139adb95
    问题 3:
    读NODE_ENV,比如你测试的时候可能需要挂一些内部的url或者用一个测试的database

    问题 4:
    可以,但是不是特别有必要。可以直接本地开发好了再上传
    问题 5:
    设置参数,如果NODE_ENV是production,读这个这个数据库,如果不是,读那个那个数据库

    2019-07-17 19:38:23
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
沪江基于Node.js大规模应用实践 立即下载
沪江基于 Node.js大规模应用实践 立即下载
探究 Node.js 的服务端之路 立即下载