npm 发布成功后, npm install 后,项目中导入的数据还是旧版本

2023-02-03 21:27:54 +08:00
 jahnsli

我的 npm 包导出了一些变量

npm 版本 1.0.0

const info = {
  name:'tom'
}

当我更改内容,发布 npm 版本 1.0.1

const info = {
  name:'joy'
}

我在项目中成功更新 npm 到 1.0.1 ,添加导入其

info.name 仍然是 tom

如何使导入的数据保持最新

2256 次点击
所在节点    JavaScript
27 条回复
yhxx
2023-02-03 21:44:11 +08:00
先检查一下 package-lock 里面是不是锁定了版本
如果没问题的话去 npm 官网看一下是不是发布成功了,是不是发到了私有源
learningman
2023-02-03 21:53:51 +08:00
是不是 npm 用镜像了
jahnsli
2023-02-03 21:56:31 +08:00
@yhxx lock 文件已经删除了,已经发布成功项目中升级了,node_module 里是最新的, 但是页面中引入的数据还是上个版本,,删除 node_modules 重新安装就正常了 很奇怪
jahnsli
2023-02-03 21:56:55 +08:00
@learningman 这个指的是 ?
lopda
2023-02-03 21:56:58 +08:00
接楼上我加一个:
1. 查看当前 npm 源是否官方,国内镜像源可能有延迟
2.是否发布成功
3.查看 lock 文件是否锁定
jahnsli
2023-02-03 21:59:44 +08:00
@lopda 指的是发布的官方源还是 ? 源是最新的, 安装成功后 node_modules 里面的数据也是最新的,但就是页面中引入的数据是旧的,删除 node_modules 重新安装就正常了
lopda
2023-02-03 22:00:29 +08:00
@jahnsli 你可以安装 nrm 进行配置 npm 的源
lopda
2023-02-03 22:01:15 +08:00
@jahnsli 哦哦哦,重新安装依赖解决了是吧~好的
jahnsli
2023-02-03 22:02:17 +08:00
@lopda 重新删了 node_modules 才能解决,但不能每次升级都删了重新安装吧。 不知道什么导致的,别的 npm 包都不需要删除 node_modules 就可以正常使用
hellohy
2023-02-03 22:29:39 +08:00
也许你需要 npm link 或者 yalc ,都调完再发布 npm 包
jahnsli
2023-02-03 22:37:19 +08:00
@hellohy 但从更新后的 node_modules 里看数据是最新的,但从页面中导入就是旧的
Finnn
2023-02-03 22:40:15 +08:00
没遇到要用插件的数据的情景, 可能是缓存?
npm cache clear 试试
jahnsli
2023-02-03 22:44:26 +08:00
@Finnn 我想导入一些主题变量,export default { primaryColor } 然后多个项目使用
lisongeee
2023-02-03 23:09:17 +08:00
试试 项目根目录 package.json 的依赖中填写固定版本然后 npm install
jahnsli
2023-02-03 23:25:03 +08:00
@lisongeee 还是不行,node_modules 里看数据是最新的,但从页面中导入是旧的
lisongeee
2023-02-04 00:14:46 +08:00
> 但从页面中导入是旧的

这句话是什么意思?你用的什么构建工具?这个工具是否会预构建生成缓存
jahnsli
2023-02-04 00:36:13 +08:00
@lisongeee 并没有用构建工具, 直接创建了个 js 文件,然后 export const info = {name:'test'},然后安装后在页面中 import
lisongeee
2023-02-04 00:50:52 +08:00
呃,在页面中 import 是什么意思?浏览器貌似不能像 node 一样直接导入 node_modules 里的文件
可否直接给个 github demo 仓库
weijiagege
2023-02-04 01:16:47 +08:00
@lisongeee 猜测 op 的意思应该是在组件文件头部 import 了那个包,结果发现数据是上一版本的,而他直接从 node modules 进去看那个包里面 export 的数据又是新的
Baymaxbowen
2023-02-04 08:56:58 +08:00
node modules 里面有.cache 的文件夹吗如果有就可以删掉 重新 star 就好了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/913019

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX