import-local调试lerna源码和视频不一致。急急急!

import-local调试lerna源码和视频不一致。急急急!

  1. 当我调试import-local方式时,发现cli.js中的代码和视频老师的不一样,多出来下面两段代码。

  2. 这两段代码导致返回结果是false,没有import到local的lerna。

  3. 我看这两段代码的意思是判断filename和localNodeModules目录是否相同,大概就是我们执行的命令是否指向的是本地的node_modules下的cli.js,如果是会变成相对目录存在..,如果不是则返回fasle,但是又取了个反,导致返回值是true。但是在return 的时候又取了个反。是在搞不明白这里啥意思。希望老师指点!!!!!

    http://img1.sycdn.imooc.com//climg/6041daba0884cad310100291.jpg


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
扬_灵 2021-03-05 21:39:47

同学你好,上面出现的代码是为了解决"findUp.sync在全局查找模块时,当它的上级还有一层node_modules文件夹时findUp.sync总是返回true"的这个问题的,你可以看一下官方的升级文档https://github.com/sindresorhus/import-local/pull/4 里面有详细的说明,另外使用课程中的代码也是没问题的。

  • sunlg #1

    老师,对于这个问题,我也很疑惑,我全局和项目都安装了lerna,

    path.relative(localNodeModules, filename)

    这个总是返回 filename 的路径,所以最终

    filenameInLocalNodeModules 是 true,函数最后返回都是 false。
    ​所以最后总是以全局安装的 lerna 来运行,希望老师解答一下!
    2021-08-28 22:36:19
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师