我期望理解,但是也慢慢地感受到了一种责任,给予比接受伟大,去爱比被爱伟大。 ——海明威
我们在vue
项目中创建两个js
在util.js
中写入
export default { ruben: 'ruben' }
在api.js
中写入
module.exports = { vampire: 'vampire' }
我们再来一个页面中使用两种方式引用
<script> import util from '@/common/util.js'; import api from '@/common/api.js' const util1 = require('@/common/util.js') const api1 = require('@/common/api.js') export default{ created(){ console.log("util.ruben: ",util.ruben); console.log("api.vampire: ",api.vampire); console.log("util1.ruben: ",util1.ruben); console.log("api1.vampire: ",api1.vampire); } } </script>
输出结果为:
我们可以看到使用require
引入util.js
中写的export default
失败了
因为require
是CommonJS
中的语法,Node
应用由模块组成,采用 CommonJS
模块规范
而CommonJS
暴露模块采用的语法是module.exports
但是export default
则是ES6
中的新语法,它的效率要比CommonJS
高,配套的是import
并且import
是编译时执行,所以无法做到像require
一样动态加载