关于nodejs,我的错误理解

1、中间件使用过程中,原以为错误处理前的中间件,只要含有next参数,就会调用错误处理函数,但是我错误,就算有next,在没有错误的情况下,也不会调用错误处理函数,除非出现错误。

2、错误认为正则表达式需要引号,结果出不了自己想要的结果,不需要引号,如: const reg_str = /:(\w+)/g;

3、字符串函数str.replace(reg,(match,property)=>{return somethign;});原以为只能替换第一个匹配,但是可以替换所有匹配。

4、以为所有控制器都需要执行next(),如果有了响应,再执行next(),反而报错。

5、使用express过程中,对挂载点的理解错误。比如:const app = express();app.use('/api',cb);原以为此处的"/api"只要是请求字符串的子串就可以经过这个中间件,但是尝试多次,无法进入此中间件的执行过程。原因是我的路由是这样:"/api.entityes",将路由修改为"/api/entities",就可以进入了,所谓挂载点,指路由中存在挂载点的路由,才会执行。

6、在学习过程中,曾经想放弃nodejs,原因有两个:一、调试很不方便,java设置一个断点就可以了,这个怎么设置?二、动不动就不响应了,在后台敲击回车才响应。坚持了一天后,发现:调试也算可以,使用node --inspect bin/www,注意此处不能使用./bin/www,使用了就会报错。很多此没有响应,主要原因有以下几点:1、没有考虑所有情况,仅仅对某些情况响应(所以错在自己的代码上);2、自己将系统的error.ejs给换掉了,所以很多提示信息,没有在前端提示,后台也没有。3、数据库逻辑错误,没有办法给出特别详细的提示。

最后,还是被他强大的灵活性、异步高并发所吸引,我将继续走下去,完成第一个nodejs产品。

你可能感兴趣的:(关于nodejs,我的错误理解)