多个文件 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

输出:

结果:

相关推荐
爆浆麻花22 分钟前
为什么有些人边框不用border属性
前端·css
uhakadotcom24 分钟前
Next.js 从入门到精通(1):项目架构与 App Router—— 文件系统路由与目录结构全解析
前端·面试·github
LFly_ice1 小时前
学习React-22-Zustand
前端·学习·react.js
南山安1 小时前
从反转字符串看透面试官的“内心戏”:你的算法思维到底怎么样?
javascript·算法·面试
东华帝君1 小时前
vue3自定义v-model
前端
www_stdio1 小时前
用 localStorage 打造本地待办清单:一个轻量级的前端实践
javascript·css·json
fruge2 小时前
搭建个人博客 / 简历网站:从设计到部署的全流程(含响应式适配)
前端
光影少年2 小时前
css影响性能及优化方案都有哪些
前端·css
呆呆敲代码的小Y2 小时前
2025年多家海外代理IP实战案例横向测评,挑选适合自己的
前端·产品
q***3752 小时前
爬虫学习 01 Web Scraper的使用
前端·爬虫·学习