javascript - 我可以在我的网站中包含这个 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}`));
解决方案
Node 是一种服务器端技术,因此您不能将其包含在例如脚本文件中。托管服务器端应用程序的一个选项是Heroku。
此外,使用情况在一定程度上取决于它是无头 API 还是传统的 Web 应用程序。
推荐阅读
- c# - 无法指示密码字段的 html id 并且无法使用 Win Forms 登录页面
- c++ - c++中的模板通用引用
- hdfs - 通过 geomesa-hbase 摄取命令摄取数据的位置
- elasticsearch - Jinja 模板循环问题
- sudo - 无法删除“权限被拒绝”文件 - 即使使用“sudo”和正确的用户/组设置
- python - 在 python 代码中为不同端点生成多个有效负载的最佳约定是什么?
- azure - Azure - 从其他资源组复制标签
- wordpress - 如何在 WP Mail SMTP 中设置 Gmail 邮件程序
- zapier - 使用 Zapier 代码将全名拆分为名字姓氏
- python - AttributeError:“_io.TextIOWrapper”对象没有属性“content_length”