最近做项目,写过nodejs,写过vue,然后有点迷茫。当时想引入一个config文件,然后很自然地敲了下面几行代码//Errorcodeexportdefaultconstconfig={static_img_url:'http://localhost:7001/images/'},我查了一下它,并说原因是exportdefault中的default是一个特殊的系统变量。exportdefault的意思就是把这个命令后的变量赋值给default这个特殊的系统变量,导出给其他模块使用。.这样,exportdefaultconst...或exportdefaultvar...等语句都是非常明显的错误。好的,我改成如下://stillerrorcodeconstconfig={static_img_url:'http://localhost:7001/images/'}exportdefaultconfig仍然报错:为什么???我发现我掉进坑里了,糊涂了。正确的应该是这样://正确代码constconfig={static_img_url:'http://localhost:7001/images/'}module.exports=config其实Node和浏览器支持的模块规范是不一样的。关于exports和module.exports当一个节点执行一个文件时,文件中会生成一个exports和module对象,module有一个exports属性。exports=module.exports={};关于export和exportdefaultexport和exportdefault都可以用来导出常量、函数、文件、模块等,在一个文件或模块中,可以有多个export和import,但是exportdefault只能有一个要通过export导出,你导入时需要加{},exportdefault不需要export直接导出变量表达式,exportdefault不需要。参考资料:引文
