【问题标题】:What do I need to know to transfer a working Node project?转移工作节点项目我需要知道什么?
【发布时间】:2015-08-31 20:08:50
【问题描述】:

我正在尝试将带有正在进行中的网站的 Node 服务器复制到我自己的笔记本电脑上运行它并在那里改进它,当它们正常工作时上传更改。

当我将其 tar 并将其传输到我的 Mac 时,页面已加载,但没有显示特定于节点的功能。 Chrome 控制台状态:

Uncaught TypeError: type.toUpperCase is not a function              react-with-addons: 9729

在 StackOverflow 和网络上的搜索显示很多人遇到了这个错误,但没有多少人能理解可能是二次损坏错误消息。

目前我很困惑,因为我从我的服务器传输到我的笔记本电脑,但它不起作用。与字节相同的 tgz 文件大小。

我想知道我是否需要从我的笔记本电脑上进行 npm 安装,以防我因服务器上可用的东西而不是我的笔记本电脑而感到悲伤。现在 Node.js 似乎已启动,但在尝试加载页面时会严重崩溃:

$斌/www 服务器运行。 TypeError:无法读取未定义的属性“状态” 在新的 ResourceError (/Users/jonathan/server/node_modules/express-stormpath/node_modules/stormpath/lib/error/ResourceError.js:7:29) 在 Request.onRequestResult [as _callback] (/Users/jonathan/server/node_modules/express-stormpath/node_modules/stormpath/lib/ds/RequestExecutor.js:96:23) 在 Request.self.callback (/Users/jonathan/server/node_modules/express-stormpath/node_modules/stormpath/node_modules/request/request.js:123:22) 在 Request.emit (events.js:98:17) 在请求。 (/Users/jonathan/server/node_modules/express-stormpath/node_modules/stormpath/node_modules/request/request.js:1047:14) 在 Request.emit (events.js:117:20) 在传入消息。 (/Users/jonathan/server/node_modules/express-stormpath/node_modules/stormpath/node_modules/request/request.js:998:12) 在 IncomingMessage.emit (events.js:117:20) 在 _stream_readable.js:944:16 在 process._tickCallback (node.js:442:13)

所以,也许是出于迷信,我将 node_modules 中的所有内容都移到了层次结构之外的临时目录中,然后进行了完整的 npm 安装。

我得到同样的错误,TypeError: Cannot read property 'status' of undefined

我不确定我是在问一个 XY 问题(还是相反?),但我想问:

我想让我的 web 应用在开发和生产两个地方运行。

我在从生产复制到开发时遇到了不小的困难。

我应该如何处理事情,以便我可以随意更改开发副本,并在合适的时候部署到生产环境?我是否从(生产)服务器的 tarball 重新启动?有什么我应该阅读的基本内容吗?

谢谢,

【问题讨论】:

  • 您不会碰巧有那些名称不同的文件,只是大小写不同。 Mac 曾经并且可能仍然不区分大小写。
  • Mac 会保留大小写。但我不认为区分大小写/保留/不敏感是这里的问题;它已经从 Mac 到 Linux 再到 Mac。
  • 你在复制stormpath API密钥吗?
  • 是的,我有一个 Stormpath API 密钥。
  • @DanD.,区分大小写是文件系统处理文件名的一种行为。它不影响例如JavaScript 文件的内容;如果您应该有一组不冲突的 JavaScript 文件名,Chrome 将不会知道或关心它在哪个系统上运行,并且将根据语言规则处理区分大小写。调用 type.toUpperCase 的问题不应该是文件系统的大小写处理有任何影响的问题。

标签: javascript node.js code-migration


【解决方案1】:

将来要克服诸如开发和生产环境不断变化的问题,值得花一些时间检查一下 Docker。

Docker

这使您能够从主机中移除关注点,转而运行包含应用程序/系统的实例、容器。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-02-08
    • 1970-01-01
    • 2022-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多