多个文件 import 的相同模块里的对象

多个文件 import 的相同模块里的对象,是否永远都是同一个对象?

在store的index.js中

import vue from 'vue'

import Vuex from 'vuex'

并配置有关对象

然后再app.vue中配置vm

在不同的文件中 import一个vue对象,在任何情况下,所有的文件是否得到的都为同一个对象,也就是单例的?对vue的修改配置是否都在同一个上

在学习vue中,想到这个问题,因为没有es6,webpack等基础就直接学,有些疑惑,在网上搜索了一下

得到如下解答:

可以确定node和webpack实现的模块都是单例,

无论是NodeJS和Webpack,默认的资源Index都是文件的绝对路径。

所以只要绝对路径相同,文件就应该是只被加载一次,第二次加载就是从cache中获取

第一次加载的时候,会执行你的代码,并且获取该Module Export的内容。

然后,把获取到的内容直接放入Module Cache。

这样,在下次加载的时候,就不会再执行你的JS,而是直接返回Module Cache中的代码,而非再执行一遍你的代码。

因为不会再执行一遍,你得到的永远是同一个对象。

测试:在两个不同的Module里面require它。然后输出看看是不是同一个时间。

导入两者

moudule1

moudule2

输出:

结果:

相关推荐
Never_Satisfied4 分钟前
在HTML & CSS中,img标签固定宽度时,img和图片保持比例缩放
前端·css·html
Cache技术分享8 分钟前
327. Java Stream API - 实现 joining() 收集器:从简单到进阶
前端·后端
颜酱9 分钟前
滑动窗口算法通关指南:从模板到实战,搞定LeetCode高频题
javascript·后端·算法
咕噜咕噜啦啦15 分钟前
JavaScript基础
开发语言·javascript
人工智能先锋16 分钟前
从零部署你的24小时AI管家:OpenClaw完整实战指南(附踩坑记录)
前端·github
不是株21 分钟前
苍穹外卖(前端)
前端
yuezhilangniao26 分钟前
从Next.js到APK:Capacitor跨平台(安卓端)打包完全指南
android·开发语言·javascript
zheshiyangyang33 分钟前
前端面试基础知识整理【Day-6】
前端·面试·职场和发展
星火开发设计35 分钟前
关联式容器:set 与 multiset 的有序存储
java·开发语言·前端·c++·算法
未来龙皇小蓝38 分钟前
RBAC前端架构-06:使用localstorage及Vuex用户信息存储逻辑
前端·vue.js