首页 > 解决方案 > 我可以在我的网站中包含这个 JavaScript/NodeJS/express 应用程序吗?

问题描述

我遵循了一个关于如何使用 NodeJS、express、MongoDB 作为数据库和 EJS 为网站制作注册和登录功能的教程。我包含了一个简单的 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}`));

标签: javascripthtmlnode.jsexpress

解决方案


Node 是一种服务器端技术,因此您不能将其包含在例如脚本文件中。托管服务器端应用程序的一个选项是Heroku

此外,使用情况在一定程度上取决于它是无头 API 还是传统的 Web 应用程序。


推荐阅读