![](/img/trans.png)
[英]Should I include my NodeJS/Express server code (hosted on Heroku) with my front-end website code (hosted through Firebase)?
[英]Can I include this JavaScript/NodeJS/express app in my website?
我遵循了有关如何使用 NodeJS、express、MongoDB 作为数据库和 EJS 的网站注册和登录 function 的教程。 我包含了一个简单的 HTML 文件,我希望在其中有一个指向注册页面的 href。 我包含的 JavaScript 在端口:5000 或此:(process.env.PORT)变量上运行服务器。 基本上我的问题是如何在我的网站上包含此注册和登录功能。
顺便说一句,包含的 HTML 文件不是我的实际网站,而只是一个简单的示例,我包含的 JavaScript 并不是注册/登录应用程序的全部内容。
<,DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width. initial-scale=1.0"> <title>Document</title> </head> <body> click on register below to go to the register page<br> <a href="">register</a> </body> </html>
const express = require('express'); const expressLayouts = require('express-ejs-layouts'); const mongoose = require('mongoose'); const flash = require('connect-flash'); const session = require('express-session'); const passport = require('passport'); const http = require('http'); const app = express(); // Passport config require('./config/passport')(passport); // DB Config const db = require('./config/keys').MongoURI; // Connect to Mongo mongoose.connect(db, { useNewUrlParser: true}).then(() => console.log('MongoDB Connected...')).catch(err => console.log(err)); // EJS app.use(expressLayouts); app.set('view engine', 'ejs'); // Bodyparser app.use(express.urlencoded({ extended: false})); // Express Session app.use(session({ secret: 'secret', resave: true, saveUninitialized: true, })); // Passport middleware app.use(passport.initialize()); app.use(passport.session()); // Connect Flash app.use(flash()); // Global variables app.use((req, res, next) => { res.locals.success_msg = req.flash('succes_msg'); res.locals.error_msg = req.flash('error_msg'); res.locals.error = req.flash('error'); next(); }); // Routes app.use('/', require('./routes/index')); app.use('/users', require('./routes/users')); const PORT = process.env.PORT || 5000; app.listen(PORT, () => console.log(`Service started on port ${PORT}`));
Node 是一种服务器端技术,因此您不能将其包含在例如脚本文件中。 托管服务器端应用程序的一个选项是Heroku 。
此外,使用情况在一定程度上取决于它是无头 API 还是传统的 web 应用程序。
为了将 nodejs 应用程序部署到运行 PHP 的现有 web 服务器,一个好方法是您可以创建一个子域并在服务器上托管 nodejs 应用程序,然后将登录和注册功能重定向到该子域。
上面的链接有一个很好的教程,介绍了如何将 nodejs 服务器托管到现有的 cpanel 网站。
我在 heroku 上托管了应用程序(现在是我的整个网站),因为 netlify(我之前使用的网站的主机)不支持 nodeJS。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.