自己写的工具类,如何读express中的配置文件
发布于 11 年前 作者 yakczh 5140 次浏览 最后一次编辑是 8 年前

工具类要一个配置文件,这个配置文件是放在exporess根目录下的某个目录,代码里面怎么设置这个根路径?

9 回复

不明白什么意思。。。 __dirname 可以用否?

是这样的,现在大部分表单验证都是写是代码里的,我想独立出来做成json配置文件 就象前台验证的配置一样, 每个Action里面这样写

if(validate('json配置文件名'){
 var data=validate.getValidParam();
 model.add(data)
}else {
 var errmsg=validate.getErrorMsg();
  req.flash('errmsg', errmsg)
}

配置文件是按表单名字统一放在一个地方,如果form表单多个地方引用,还可以复用 如果用mongodb的话,加了字段就不用改代码了 这个模块要读json配置文件的话,代码怎么取得express的根路径呢?

是你web程序的根目录吗?process.cwd()

貌似process这个不用require

@yakczh 你不是需要配置根目录的吗?

感觉在代码里直接require一个object更简单,省了很多引号

var formvaliderule=require('./form/adduser');
if(validate(formvaliderule){
 var data=validate.getValidParam();
 model.add(data)
}else {
 var errmsg=validate.getErrorMsg();
  req.flash('errmsg', errmsg)
}
```

这个验证器是全局共用一个,还是每个Action里 require一个好?

var errors=[]
exports.check=function(param,schema,cb){
 ...
 }
exports.getError=function(){

return errors;

} 

这样写只能验证一次可以,第二次调用的话就乱, error变成全局的了, 如果写成

exports.check=function(param,schema,cb){

var errors=[];



}

外面怎么调用getError()

后台验证出错的时候,需要表单回填 比如原来post的值是 {username:“xxx”,price:100,count:3} 提交以后count 验证错误 返回到前端 有三种数据格式 1 两个json,原来提交的值+出错信息

原来提交的值{title:"xxx",price:100,count:3}
   提示信息  {count:"已售堥"}

2

{name:"title",
               value:"xxx",
             },
             {name:"price",
               value:100,
             },
              {name:"count",
               value:3,
               error:"已售堥"
             },

3

 {
   title:{
     value:"xxx",
     
   },
   price:{
   value:100,
   },
  count:{
  value:3
  error:'已售堥'
  } 
}

然后前端接受特定格式的数据,解析,自动回填和显示错误提示,那种格式更适合?

回到顶部