Node.js教程之运用Node.js环境并依赖第三方库,框架等实现网站前后端分离报错问题及处理方法
沉沙 2019-05-15 来源 : 阅读 1636 评论 0

摘要:本篇文章探讨了Node.js教程之运用Node.js环境并依赖第三方库,框架等实现网站前后端分离报错问题及处理方法,希望阅读本篇文章以后大家有所收获,帮助大家对相关内容的理解更加深入。

本篇文章探讨了Node.js教程之运用Node.js环境并依赖第三方库,框架等实现网站前后端分离报错问题及处理方法,希望阅读本篇文章以后大家有所收获,帮助大家对相关内容的理解更加深入。

Node.js教程之运用Node.js环境并依赖第三方库,框架等实现网站前后端分离报错问题及处理方法

<


问题一:
    SyntaxError: missing ) after argument list in .....\views\user\index.html while compiling ejs。
    语法错误:失去右括号)在参数列表后面,在.....\views\user\index.html(在这个路径中的index.html)中当编译ejs时。
    分析:这个时候应该是模板引擎ejs出现问题,但是ejs已经是一个写好的模板库,是没有问题的,所以我们应该去替换的页面查找问题。
    处理方法: 这个时候我们应该去inndex.html中查找问题,特别注意定界符<% %>中的内容,我们只要关注与index.html文件,这样减小了排错的范围,理清思路就可以排除问题了。
问题二:
    Trying to open unclosed connection.
    尝试去打开没有关闭的连接。
    分析: 通过connection我们可以想到连接数据库的操作mongoose.connect(‘mongodb://localhost/数据库名称‘);因此我们可能是多次使用了连接数据库的操作(这是因为在routers文件夹下,每个JS文件都写)或者在操作完成后我们并没有关闭数据库(方法一:mongoose.connection.close(); 等同于 db.close().  方法二:mongoose.disconnect();)
    处理方法:  我们就连接一次数据库,并不多次连接数据库。在express自定义项目名称下新建libs文件夹,在libs下新建model.js,内容如下
                var mongoose = require(‘mongoose‘);
                mongoose.connect(‘mongodb://localhost/数据库名称‘);
                exports.mongoose = mongoose;
            在routes文件夹下的JS文件,引入为
                var mongoose = require(‘../libs/model.js‘).mongoose; 然后再定义模型。
问题三:
    can‘t set headers after they are sent.
    发送后不能再设置头部(个人理解是请求和响应中的头部)
    写express犯的错,当初做项目的时候我的想法是响应页面后,3秒跳转到注册页,结果报错,尝试了很久我解决方法是去除一个res方法就好了),代码如下
1 router.get(‘/jump‘,  function(req,  res){
2     //给用户响应views目录下的文件
3     res.render(‘user/jump‘, {success: req.flash(‘success‘).toString(), error: req.flash(‘error‘).toString() });
4     setTimeout(function() {
5         //重定向到users文件夹下的reg.html
6         res.redirect(‘/users/reg‘);
7     },3000);
8 });   
    处理办法就是去除其中一个res方法就可以了,但是就达不到需求了,由于能力有限,目前还没有解决这个需求问题。有参考到这篇,但是我的问题并不是因为NodeJs的异步方式产生的,特此记录,以便以后可以避免这个问题。
       

      本文由职坐标整理发布,学习更多的相关知识,请关注职坐标IT知识库!

本文由 @沉沙 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式AI+学习就业服务平台 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved