gpt4 book ai didi

javascript - 有人能区分这两个 Express-React-Node 应用程序之间的区别吗?

转载 作者:行者123 更新时间:2023-12-02 22:57:09 25 4
gpt4 key购买 nike

我正在构建一个 Express-React-Node 应用程序,我想将其部署在 Google App Engine 上。

在学习几个教程时,我遇到了这两个应用程序架构:

https://github.com/BalasubramaniM/react-nodejs-passport-app/tree/master/src

https://hackernoon.com/m-e-r-n-stack-application-using-passport-for-authentication-920b1140a134

我想了解其中的差异。

第一个只有一个带有 Webpack 和 Babel 的应用程序。

在客户端,我有一个 App.jsx 文件和 Index.html 文件。

这是 App.jsx 文件:

import React from 'react';

const App = () => (
<div className='app'>This is a React app</div>
);

export default App;

这是 html 文件:

<!DOCTYPE html>
<html>
<head>
<title>A Web App</title>

<script crossorigin src="https://unpkg.com/react@16/umd/react.development.js"></script>
<script crossorigin src="https://unpkg.com/react-dom@16/umd/react-dom.development.js"></script>
<script src="./bundle.js"></script>
</head>
<body>
<div id="app">This is an Express App</div>
<script>
ReactDOM.render(
React.createElement(App.default),
document.getElementById('app')
);
</script>
</body>
</html>

第二个带有客户端应用程序和服务器应用程序。

有一个index.jss文件,其中包含以下代码:

import React from "react";
import ReactDOM from "react-dom";
import "./index.css";
import App from "./App";
import registerServiceWorker from "./registerServiceWorker";
import { Route, Switch } from "react-router-dom";
import { BrowserRouter } from "react-router-dom";

ReactDOM.render(
<BrowserRouter>
<Switch>
<Route path="/" component={App} />
</Switch>
</BrowserRouter>,
document.getElementById("root")
);
registerServiceWorker();

和一个包含以下代码的 App.js 文件:

    import React, { Component } from "react";
import logo from "./logo.svg";
import "./App.css";
import queryString from "query-string";

class App extends Component {
componentWillMount() {
var query = queryString.parse(this.props.location.search);
if (query.token) {
window.localStorage.setItem("jwt", query.token);
this.props.history.push("/");
}
}

render() {
return (
<div className="App">

//some stuff here

</div>
);
}
}
export default App;

html文件中没有任何与react相关的内容。

我有点理解,在第一个项目中,渲染部分混合在 html 文件中,但我无法真正理解其中的差异,也无法在一个应用程序和另一个应用程序中阐明事情。

最佳答案

第二个似乎是使用 create-react-app 引擎来生成脚手架和启动文件。第二个示例包含存储在本地存储中的 JWT 用户身份验证,而第一个示例似乎并未这样做。此外,第二个示例利用 React Router,它允许您构建带有导航的单页 Web 应用程序,而无需在用户导航时刷新页面。 React Router 使用组件结构来调用组件,组件显示适当的信息并允许您快速添加路由以构建导航。这就是 App 组件在 index.jss 中导入的 Route 组件 prop 中呈现的方式。如果有人添加另一个 Route 以及包含另一个组件 prop 的另一个路径,如下所示:

<Route path="/another-path" component={SubComponent} />

然后您可以通过访问 baseURL/another-path 来访问该组件

token 认证和React-Router的使用是这两个项目之间的主要区别。

关于javascript - 有人能区分这两个 Express-React-Node 应用程序之间的区别吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57931542/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com