当前,我想用MongoDB,NodeJS和Express创建一个页面。
我遵循了有关如何创建网站并获得创建帐户(用户)选项的指南。但是,我想用手动添加的Admin创建自己的管理面板。 恐怕我会以某种方式创建一个选项“ app.post”并注册另一个管理员-换句话说,我不想提供该选项来发布更多帐户。我只想拥有一个帐户。 我正在使用本地护照猫鼬,护照,本地护照。
//这是Udemy课程的代码:
>router.post("/register", function (req, res) {
> var newUser = new User({
> username: req.body.username
> });
> User.register(newUser, req.body.password, function (err, user) {
> if (err) {
> req.flash("error", err.message);
> return res.redirect("register");
> }
> passport.authenticate("local")(req, res, function () {
> req.flash("success", "Welcome to our website!");
> res.redirect("/");
> });
> });
>});
//我以为我可以这样做:
>var newUser = new User({
> username: "Admin"
>});
>User.register(newUser, "VerySecurePassword", function (err, user) {
> if (err) {
> req.flash("error", err.message);
> return res.redirect("register");
> }
> passport.authenticate("local")(req, res, function () {
> console.log("registered")
> });
>});
。
//之后,我出现了一些错误:
(node:2496) UnhandledPromiseRejectionWarning: ReferenceError: req is not defined
at C:\Websites\YelpCampCurrent\routes\index.js:37:5
at promise.then.catch.err (C:\Websites\YelpCampCurrent\node_modules\passport-local-mongoose\index.js:250:21)
at process._tickCallback (internal/process/next_tick.js:68:7)
(node:2496) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
(node:2496) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
总的来说,我想创建一个帐户,但没有人也可以创建一个帐户。我想使用上面创建的代码,我可以在管理面板中创建帐户的过程中生存下来,然后,我想可以删除其余的代码。