同时运行 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。 的相关文章

随机推荐

  • 折旧警告不允许在 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 所以我正在遵循教程 并在我现有的应用程序中编写这个应用程序 并在另一个端口上运行 当两个应用程序位于不同端口时