最近做一个项目,写nodejs,又写vue,然后就有点混乱了。
当时想引入一个config文件,然后很自然的啪啪啪的敲了下面几行代码
//错误代码
export default const config = {
static_img_url: 'http://localhost:7001/images/'
}
啪啦啪啦,查了一下,说原因是export default中的default是一种特殊的系统变量,export default的含义是把此命令后面的变量赋值给default这个特殊的系统变量,并把它导出到其他模块中使用。如此一来,export default const...或者export default var...等语句就是非常明显的错误了。
好,改了一下如下:
//还是错误代码
const config = {
static_img_url: 'http://localhost:7001/images/'
}
export default config
还是报错:
为什么呢???发现掉坑了,搞混乱了。正确应该如下:
//正确代码
const config = {
static_img_url: 'http://localhost:7001/images/'
}
module.exports = config
其实就是Node和浏览器端所支持的模块规范不同。
- 关于exports和module.exports
在一个node执行一个文件时,会给这个文件内生成一个 exports和module对象,而module有一个exports属性。
exports = module.exports = {}; - 关于 export 和export default
export与export default均可用于导出常量、函数、文件、模块等
在一个文件或模块中,export、import可以有多个,export default仅有一个
通过export方式导出,在导入时要加{ },export default则不需要
export能直接导出变量表达式,export default不行。
参考引用:引用
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。