同时运行 React 和 Node。

2024-02-09

我有一个我认为不太独特的用例,但我遇到了挑战。我的应用程序是用express/EJS编写的,在端口35上运行,我想包括react,所以我正在遵循教程,并在我现有的应用程序中编写这个应用程序,并在另一个端口上运行。当两个应用程序位于不同端口时,我可以看到它们,如果我尝试将它们放在同一端口上,它们会发生冲突。呃。但是我想在我的应用程序中运行 React 来实现某些功能,我该如何实现这一点?如何运行我的节点应用程序并同时做出反应?

我的反应应用程序的依赖项是:

"babel": "^6.5.2",
"babel-loader": "^6.2.10",
"babel-preset-es2015": "^6.18.0",
"babel-preset-react": "^6.16.0",
"babel-preset-stage-2": "^6.18.0",
"react": "^15.4.1",
"react-dom": "^15.4.1",
"webpack": "^1.14.0",
"webpack-dev-server": "^1.16.2"

我的整个依赖树是

 "dependencies": {
    "async": "^2.1.4",
    "babel": "^6.5.2",
    "babel-loader": "^6.2.10",
    "babel-preset-es2015": "^6.18.0",
    "babel-preset-react": "^6.16.0",
    "babel-preset-stage-2": "^6.18.0",
    "bcrypt-nodejs": "0.0.3",
    "bluebird": "^3.4.6",
    "body-parser": "^1.15.2",
    "cloudinary": "^1.4.6",
    "cookie-parser": "^1.4.3",
    "ejs": "^2.5.2",
    "express": "^4.14.0",
    "express-flash": "0.0.2",
    "express-session": "^1.14.2",
    "method-override": "^2.3.7",
    "moment": "^2.17.0",
    "mongoose": "^4.6.8",
    "morgan": "^1.7.0",
    "multer": "^1.2.0",
    "nodemailer": "^2.7.0",
    "passport-local-mongoose": "^4.0.0",
    "react": "^15.4.1",
    "react-dom": "^15.4.1",
    "serve-favicon": "^2.3.2",
    "webpack": "^1.14.0",
    "webpack-dev-server": "^1.16.2",
    "xoauth2": "^1.2.0"
  },

顶部列表只是我为本教程加载的列表。因此,也许要在 Node 中运行 React,我不需要 React 的 Web 服务器方面(如果有的话)?或者只是使用节点?

这是 webpack.config.js 文件。

const webpack =require('webpack'),
path    =require('path');

const DIST_DIR = path.resolve(__dirname, "dist");
const SRC_DIR = path.resolve(__dirname, "src");

const config =  {
    entry: SRC_DIR + "/app/index.js",
    output: {
        path: DIST_DIR + "/app",
        filename: "bundle.js",
        publicPath: "/app/"
    },
    module: {
        loaders: [
            {
                test: /\.js?/,
                include: SRC_DIR,
                loader: "babel-loader",
                query: {
                    presets: ["react", "es2015", "stage-2"]
                }
            }
        ]
    }
};

module.exports = config;

以下是 package.json 文件中的脚本。这有带有端口的代码等:

  "scripts": {
    "start":"npm run build",
    "build":"webpack -d && sudo cp src/index.html dist/index.html && webpack-dev-server --content-base src/ --inline --hot --host 0.0.0.0 --port 35",
    "build:prod": "webpack -p && cp src/index.html dist/index.html"
  },

要运行nodejs和reactjs应用程序,只需按照以下步骤操作:

  1. npm i 同时 --save
  2. 然后将这些脚本添加到作曲家.json你的nodejs应用程序,

    "scripts": { "start": "node server.js", //For starting node server with **npm run start** "react": "npm start --prefix react", // --prefix react indicates the folder of your react app "dev": "concurrently \"npm run start\" \"npm run react\"" },

  3. 然后加,

    "proxy": "http://localhost:5000" //Add your own port where nodejs app is running

    对你的反应作曲家.json file.

  4. 然后终于跑了npm 运行开发同时启动 React 和 Node 应用程序。

欲了解更多信息,请访问https://www.npmjs.com/package/concurrently https://www.npmjs.com/package/concurrently .

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

同时运行 React 和 Node。 的相关文章

  • 将 html2pdf 生成的 pdf 发送回服务器

    我必须使用以下命令发送客户端生成的 PDFhtml2pdf到服务器 我已成功将生成的 PDF 转换为 base64 并希望使用axios 这是我的客户端代码 function myFunction var element document
  • React Map 总是使用最后一个元素的数据调用方法

    我正在制作一个社交媒体应用程序 我正在循环浏览所有评论并将其显示在用户界面上 当我单击编辑时 最后一条评论的文本总是显示在输入中 我尝试了很多不同的方法 改变了结构 使用bind来绑定上下文 但没有任何帮助 我正在使用 React Mate
  • 使用端口 80 的 AWS Elastic Beanstalk 上的 WebSocket 问题

    我正在将一个 node js 应用程序从 Heroku 迁移到在端口 80 上使用 WebSocket 的 AWS Elastic Beanstalk WebSocket 在 AWS Elastic Beanstalk 上返回 301 错误
  • 如何聚焦反应路由器链接

    我有一个用于搜索的输入框 并且希望能够按向下键将焦点从输入移动到列表的第一个s 看来我这里的东西不起作用 因为不是实际的 DOM 节点 我能够使用它来工作 a 代替 though let Link require react router
  • Nextjs 无法在生产环境中的“.next”目录中找到有效的构建

    我正在 docker 中运行我的应用程序 但我的生产构建和启动脚本仅在 docker 环境中失败 虽然node env开发在docker环境下运行良好 这是我的脚本 无法进行生产构建并启动服务器 我正在使用nodemon和babel bui
  • socket.io 作为客户端

    有什么方法可以将socketio作为客户端运行 不是浏览器 而是nodejs脚本 我需要将数据从服务器广播到一些客户端 浏览器 和另一台linux机器 仅运行nodejs来获取变量 没有浏览器 欢迎任何想法 Regards github上有
  • 重写规则,以便正确加载具有绝对路径的 css 和 js 文件

    我花了两个小时 但我无法弄清楚 我不知道如何谷歌解决方案 这是我在 htaccess 文件中的重写规则 RewriteCond REQUEST URI blog RewriteRule blog http localhost 2368 1
  • 提及列表和表情符号顶部位置 (Draft.js)

    您能帮我如何将其位置从下到上更改吗 我想在文本顶部而不是底部显示提及列表 关于表情符号列表的同样问题 示例链接 https www draft js plugins com plugin emoji 你可以通过以下方式实现它position
  • npm install 命令下载所需包的源位置是什么?

    我试图获取命令 npm install 尝试连接的源位置 URL 并根据 package json 文件获取要下载的依赖包 并将其放置在本地框中 从下面提到的网址 http www tutorialspoint com nodejs nod
  • 刷新或直接点击链接时找不到 React.js 页面

    我在此链接上有一个反应项目 https notchy cross 000webhostapp com https notchy cross 000webhostapp com 如果向下滚动 您会看到一个名为 产品类别 的部分 https i
  • React Router v4 的优点

    除了能够在 NavLink 上设置 activeClassName 和 activeStyle 之外 还有什么理由使用NavLink over Link在您的网站上不需要活动状态 类的非导航元素 即不是页眉或页脚中的主导航 上创建指向其他路
  • 从 React Native Js 代码调用 Android Native UI 组件方法

    我创建了一个 CustomView SignatureView java 它扩展了 LinearLayout 以捕获 Android Native 中的签名 并创建了SignatureCapturePackage java和Signatur
  • 如何在Sequelize中设置查询超时?

    我想看看如何在 Sequelize 中设置查询的超时时间 我查看了 Sequelize 文档以获取一些信息 但我找不到我要找的东西 我发现的最接近的是 pools acquire 选项 但我不想设置传入连接的超时 而是设置正在进行的查询的超
  • React autoFocus 将光标设置为输入值的开头

    我有一个受控输入 最初显示一个值 我已将该输入设置为自动聚焦 但当我希望它出现在末尾时 光标出现在输入的开头 我知道这可能是因为自动对焦是在值之前添加的 但我不能 100 确定 在输入字段末尾完成光标初始化的最佳方法是什么 var Test
  • 如何在另一个自定义 Hook 中使用返回值的自定义 Hook?

    我正在使用 React native 其中有一个名为的自定义 HookuseUser使用以下方法从 AWS Amplify 获取用户信息Auth getUserInfro方法 然后获取返回对象的一部分并用它设置一个状态变量 我还有另一个名为
  • 如何清除NPM的https代理设置?

    如何清除NPM之前的ssl代理设置 好吧 我搜索了很多 但我得到的所有帖子主要是关于如何set公司网络中的代理 我尝试将代理设置为空 npm config set http proxy npm config set https proxy
  • Node.js 中的异步或步骤

    我无法让我的异步代码与 node js 一起使用 尝试异步和步骤库 代码仅返回第一个函数 似乎没有执行其余函数 我究竟做错了什么 thanks var step require step step function f1 console l
  • webpack TS2304 找不到名称“Map”、“Set”、“Promise”

    我有以下 webpack config js var path require path var webpack require webpack module exports entry ng2 auto complete path joi
  • Webpack 4:如何使用 LESS 获取 CSS 源映射?

    多年来我一直在尝试让 CSS 源映射在 webpack 中工作 但没有成功 我不确定链条中哪里出了问题 我希望有人能指出我正确的方向 这是发生的事情 行号是错误的 实际上文件名也是错误的 main less只是包含一堆 import也就是说
  • 我想在“npm install”上下载一些资源,大概使用“预发布”脚本

    具体来说 我想在运行 npm install 时下载 angular min js 从我读到的here https npmjs org doc scripts html做这些事情的地方是在预发布脚本 它还提到我不需要依赖在系统上安装 wge

随机推荐

  • 折旧警告不允许在 AZURE 上部署应用程序,

    将应用程序部署到 AZURE 时 我收到以下警告 节点 6568 DEP0064 DeprecationWarning tls createSecurePair 是 已弃用 请改用 tls Socket 但这不允许我的应用程序启动 Azur
  • 如何检索 PCollection 的内容并将其分配给普通变量?

    我正在将 Apache Beam 与 Python SDK 结合使用 目前 我的管道读取多个文件 解析它们并从其数据生成 pandas 数据帧 然后 它将它们分组为single数据框 我现在想要的是检索这个单一的胖数据帧 将其分配给一个普通
  • 当我什至没有使用 Bolts 时,为什么会收到有关 Bolts 框架和 FacebookSDK 的错误?

    出现此错误 framework not found Bolts for architecture x86 64 逐字逐句地遵循 Facebook 的指南 但我能想到的唯一发生链接错误的地方是在框架搜索路径的构建设置中 我目前在应用程序中尝试
  • 如何使用 xargs 复制名称中包含空格和引号的文件?

    我正在尝试复制目录下的一堆文件 其中许多文件的名称中包含空格和单引号 当我尝试串起来时find and grep with xargs 我收到以下错误 find grep FooBar xargs I cp foo bar xargs un
  • 处理无效 XML 的建议方法

    我正在尝试使用 Delphi XE2 将程序与第三方服务集成 我遇到的问题是该服务没有转义它们发送给我的 XML 文档中的任何值 这是他们的 示例 xml 文档之一
  • Ruby、价值分桶、美化代码

    所以我有这个代码 def self age to bucket age age age to i if age gt 0 age lt 12 1 elsif age gt 13 age lt 17 2 elsif age gt 18 age
  • Spring roo多模块依赖

    我刚刚开始第一次玩spring roo 第一印象是相当令人兴奋 目前我正在努力创建多模块项目希望你们能帮助我 假设我有父 POM 和 2 个 Jar 项目以及 1 个 war 项目 让我们将它们命名如下 父级 POM 服务API jar 服
  • Django:从 G​​ET 请求生成查询集

    我有一个使用 GET 方法的 Django 表单设置 每个值对应于 Django 模型的属性 生成查询的最优雅的方式是什么 目前 这就是我在视图中所做的事情 def search items request if search name i
  • 无法从注册表加载包信息:“超时”参数必须是数字类型。收到类型字符串('100000')

    在我的项目中安装角度材料时出现此错误 PS C Users Avinash Kumar Desktop Projects CRUD Project 2 Library Management System UI UI Frontend gt
  • Visual Studio代码如何为命令调色板条目添加键绑定

    例如 我想为条目添加一个键绑定 Ctrl R Ctrl T Python 在终端中运行 Python 文件 非常感谢 您可以在Preferences gt Keyboard Shortcuts部分 搜索 在终端中运行 Python 文件 选
  • 在嵌入式 Jetty 上启用 TLS-1.2

    目前我正在使用启用 TLS 1 2 的代码 ServerConnector httpsConnector new ServerConnector server new SslConnectionFactory sslContextFacto
  • System.Configuration.ConfigurationManager.ConnectionStrings 没有配置连接字符串

    每当我尝试在 C 代码中运行任何内容时 都会收到以下错误 System InvalidOperationException was unhandled by user code Message No connection string co
  • PC 重新启动后,Visual Studio 有时会重建未修改的项目

    我有一个包含大约 50 个 C 项目的 Visual Studio 2013 解决方案 通常 如果我选择构建 F6 它只会构建已更改的项目 但有时在我关闭并重新启动我的电脑后 当我选择构建 F6 时 它会重建所有内容 为什么 当我重新启动电
  • 如何在 Web 服务中使用 JAXBElement

    我正在使用 WCF 开发一个可互操作的 Web 服务 我从 Java 客户端使用该服务 当我创建代理类时 它生成了所有 getter 和 setter 方法以及JAXBElement
  • 使用 SQL 中另一个表中的列更新表

    我需要根据从以下两个表中提取的数据创建一个新表 第一张表 Var cur number A 10 B 8 第二个表 Var new number A 2 A 11 B 4 B 6 新表应包含 Var 列和 Number 列 其中每个变量将有
  • w3school 包含 HTML,javascript 不工作

    所以 我最近使用了 w3school include html 这样我就不必将相同的 div 复制粘贴到我的所有页面 首先 我将它用于页眉和页脚 它使用了一些CSS样式 并且没有问题 工作完美 但是后来 我尝试再次将它用于我的下拉导航栏 其
  • RavenDB 会话 > 30

    如果我尝试保存要保存的项目列表 其中计数 gt 30 我会收到一条错误消息 最大请求数 30 已允许此会话 到达 Raven限制了数量 允许会话的远程调用 作为预警系统 预计会议时间很短 住过 Raven提供设施 像 Load string
  • 检查类上是否定义了方法

    如何检查方法是否直接在某个类上定义 而不是通过继承或包含 扩展定义 我想要类似 foo 的东西 在下面的 class A def a end end module B def b end end class C lt A include B
  • 设置 os.Mkdir 权限

    我正在尝试使用 os Mkdir 创建具有某些权限的目录 但由于某种原因我无法使其工作 我的测试程序是 package main import log os func main err os Mkdir testdir 0775 if er
  • 同时运行 React 和 Node。

    我有一个我认为不太独特的用例 但我遇到了挑战 我的应用程序是用express EJS编写的 在端口35上运行 我想包括react 所以我正在遵循教程 并在我现有的应用程序中编写这个应用程序 并在另一个端口上运行 当两个应用程序位于不同端口时