精华内容
下载资源
问答
  • 首先,直接修改node_modules里面的文件是不太行的,重新安装依赖就没有了。一般常用办法有两个: 下载别人代码到本地,放在src目录,修改后手动引入。 fork别人的代码到自己仓库,修改后,从自己仓库安装这个插件...
  • 修改node_modules下源码(详细) 开发中遇到需要修改装包的源码,直接在node_modules修改是无效的,不同的开发环境重新装包就没有了。将文件放到src目录下太暴力,还会有路径无效的问题,所以可以使用github fork源码...

    修改node_modules下源码(详细)

    开发中遇到需要修改装包的源码,直接在node_modules修改是无效的,不同的开发环境重新装包就没有了。将文件放到src目录下太暴力,还会有路径无效的问题,所以可以使用github fork源码到本地修改,过程如下(以wl-gantt为例):


    1、 找到gitbub源码地址,fork到自己的仓库

    在这里插入图片描述

    2、从仓库拉取到本地

    git  clone  git@github.com:xxxxx/wl-gantt.git
    

    3、查看项目入口文件(package.json),找到打包后文件位置

    以wl-gantt为例

    • 找到main下的文件路径所在位置,在lib文件夹下
      在这里插入图片描述
    • lib文件由./src/pages/index.js生成
      在这里插入图片描述

    4、修改代码,查看效果,上传到github

    npm run lib // 重新生成lib文件(具体项目看具体的入口)
    
    git add .  
    git commit -m '修改用户自定义'
    git push git@github.com:[xxx]/wl-gantt.git  // 本地地址
    

    5、npm 发布(官网注册账户先)

    • (1)npm init 在这里插入图片描述
      按照提示依次填写,注意包名不要同原来的重复
    • (2)npm login
      按照提示输入用户名、密码、邮箱
    • (3)npm publish
    • 在这里插入图片描述
      + 成功

    PS:在发布之前可以本地包调试

    npm uninstall wl-gantt   // 卸载原依赖
    npm i https://github.com/xxx/wl-gantt.git // 安装本地依赖(HTTPS)
    
    展开全文
  • 来自:掘金,作者沉末_ ... 前言 ...首先,直接修改node_modules里面的文件是不太行的,重新安装依赖就没有了。一般常用办法有两个: 下载别人代码到本地,放在src目录,修改后手动引入。 ...

     

    来自:掘金,作者 沉末_

    链接:https://juejin.im/post/5ec381215188256d776342cd

    前言

    有时候使用npm上的包,发现有bug,我们知道如何修改,但是别人可能一时半会没法更新,或者是我们特殊需求,别人不愿意修改,这时候我们只能自己动手丰衣足食。那么我们应该如何修改别人的源码呢?首先,直接修改node_modules里面的文件是不太行的,重新安装依赖就没有了。一般常用办法有两个:

    1. 下载别人代码到本地,放在src目录,修改后手动引入。

    2. fork别人的代码到自己仓库,修改后,从自己仓库安装这个插件。

    这两个办法的缺陷就是:更新麻烦,我们每次都需要手动去更新代码,无法与插件同步更新。如果我们要修改的代码仅仅是别人的一个小模块,其他大部分代码都不动,这时候有一个很投机的操作:利用 webpack alias 来覆盖别人代码。

    webpack alias 的作用

    webpack alias一般用来配置路径别名,使我们可以少写路径代码:

    chainWebpack: config => {
        config.resolve.alias
          .set('@', resolve('src'))
          .set('#', resolve('src/views/page1'))
          .set('&', resolve('src/views/page2'));
    },

    也就是说,webpack alias会替换我们写的“简写路径”,并且它对node_modules里面的文件也是生效的。这时候我们可以将别人源码里面引用模块的路径替换成我们自己的文件。

    具体操作如下:

    1. 找到别人源码里面的需要修改的模块,复制代码到src目录

    2. 修改其中的bug,注意里面引用其他的文件都需要写成绝对路径

    3. 找到这个模块被引入的路径(我们需要拦截的路径)

    4. 配置webpack alias

    实际操作一下

    qiankun框架的patchers模块为例:

    文件被引用的路径为:./patchers(我们要拦截的路径)

    文件内容为:

    复制内容到src/assets/patchers.js,修改其 import 路径为绝对路径,并添加我们的代码:

    配置webpack alias(我用的是vue-cli4,配置文件是vue.config.js):

    const path = require('path');
    module.exports = {
      chainWebpack: config => {
        config.resolve.alias
          .set('./patchers', path.resolve(__dirname, 'src/assets/patchers.js'))
      }
    };

    运行代码,控制台打印成功,表明我们已经成功覆盖别人的代码,而且别人的代码有更新时,我们也可以同步更新,只是这个模块的代码使用我们自定义的。打包之后也是可以的。

    补充:使用patch-package来修改

    经掘友 @Leemagination 指点,使用patch-package来修改node_modules里面的文件更方便

    步骤也很简单:

    1. 安装patch-packagenpm i patch-package --save-dev

    2. 修改package.json,新增命令postinstall:

    "scripts": {
    +  "postinstall": "patch-package"
     }
    
    
    1. 修改node_modules里面的代码

    2. 执行命令:npx patch-package qiankun

    第一次使用patch-package会在项目根目录生成patches文件夹,里面有修改过的文件diff记录。

    当这个包版本更新后,执行命令:git apply --ignore-whitespace patches/qiankun+2.0.11.patch即可。其中qiankun+2.0.11.patch是它生成的文件名。

     

    展开全文
  • 首先,直接修改node_modules里面的文件是不太行的,重新安装依赖就没有了。一般常用办法有两个: 下载别人代码到本地,放在src目录,修改后手动引入。 fork别人的代码到自己仓库,修改后,从自己仓库安装这个插件。...

    有时候使用npm上的包,发现有bug,我们知道如何修改,但是别人可能一时半会没法更新,或者是我们特殊需求,别人不愿意修改,这时候我们只能自己动手丰衣足食。那么我们应该如何修改别人的源码呢?首先,直接修改node_modules里面的文件是不太行的,重新安装依赖就没有了。一般常用办法有两个:

    1. 下载别人代码到本地,放在src目录,修改后手动引入。
    2. fork别人的代码到自己仓库,修改后,从自己仓库安装这个插件。

    这两个办法的缺陷就是:更新麻烦,我们每次都需要手动去更新代码,无法与插件同步更新。如果我们要修改的代码仅仅是别人的一个小模块,其他大部分代码都不动,这时候有一个很投机的操作:利用 webpack alias 来覆盖别人代码。

    webpack alias

    webpack alias一般用来配置路径别名,使我们可以少写路径代码:

    chainWebpack: config => {
        config.resolve.alias
          .set('@', resolve('src'))
          .set('#', resolve('src/views/page1'))
          .set('&', resolve('src/views/page2'));
    },
    

    也就是说,webpack alias会替换我们写的“简写路径”,并且它对node_modules里面的文件也是生效的。这时候我们可以将别人源码里面引用模块的路径替换成我们自己的文件。
    具体操作如下:

    1. 找到别人源码里面的需要修改的模块,复制代码到src目录
    2. 修改其中的bug,注意里面引用其他的文件都需要写成绝对路径
    3. 找到这个模块被引入的路径(我们需要拦截的路径)
    4. 配置webpack alias

    实际操作一下

    以qiankun框架的patchers模块为例:
    文件被引用的路径为:./patchers(我们要拦截的路径)在这里插入图片描述
    复制内容到src/assets/patchers.js,修改其 import 路径为绝对路径,并添加我们的代码:
    在这里插入图片描述
    在这里插入图片描述
    配置webpack alias(我用的是vue-cli4,配置文件是vue.config.js):

    const path = require('path');
    module.exports = {
      chainWebpack: config => {
        config.resolve.alias
          .set('./patchers', path.resolve(__dirname, 'src/assets/patchers.js'))
      }
    };
    

    运行代码,控制台打印成功,表明我们已经成功覆盖别人的代码,而且别人的代码有更新时,我们也可以同步更新,只是这个模块的代码使用我们自定义的。打包之后也是可以的。
    在这里插入图片描述

    patch-package

    1. yarn add --dev patch-package

    2. 在package.json 的scripts中加入 { “postinstall”: “patch-package” },这是npm的一个钩子,会在依赖包被install之后执行

    3. 修改node_modules中的代码

    4. 生成patches,yarn patch-package [your-package-name]
      在这里插入图片描述

    5. 提交patches后,重新install包你就会发现是你修改后的结果

    展开全文
  • 这个问题的原因很好分析,就是jsencrypt这个的依赖包报错,我们只需要去修改node_modules\jsencrypt\lib\JSEncrypt.js的对应报错位置,加入图中红圈中的代码即可 当然这种方法不是一劳永逸的。最好的办法就是将该...

    在这里插入图片描述

    这个问题的原因很好分析,就是jsencrypt这个的依赖包报错,我们只需要去修改node_modules\jsencrypt\lib\JSEncrypt.js的对应报错位置,加入图中红圈中的代码即可
    在这里插入图片描述

    当然这种方法不是一劳永逸的。最好的办法就是将该依赖包放在本地,并上传代码版本管理。
    你问我怎么做?
    在项目根目录创建名为my_modules的文件夹,将修改后的jsencrypt依赖包拷进去
    在这里插入图片描述
    在package.json中加入路径,
    “dependencies”: {
    “jsencrypt”: “./my_modules/jsencrypt”,
    },

    这个路径可以使用如下
      ../ foo / bar 
    〜 / foo / bar 
     ./foo/bar 
     / foo / bar 
    
    展开全文
  • 今天clone 别人的vue ,在本地不能运行,一直报这个错误,看了一篇说的是把node_nodules 这个文件夹给删了,然后再在packpage.js,修改node和npm的版本,试了一下实在是大坑啊,clone下来的项目就没有node_nodules这...
  • 1、下载项目到本地 git clone https://github.com/Yin-Hongwei/music-website.git 2、下载数据库中记录的资源 去【链接: https://pan.baidu.com/s/1Qv0ohAIPeTthPK_CDwpfWg 提取码: gwa4 】下载网站依赖的歌曲及...
  • 问题所在:\node_modules\xlsx-style\dist\cpexcel.js 807行 var cpt = require('./cpt' + 'able'); 解决方案1:修改为 var cpt = cptable 修改的只是本地文件 解决方案2:webpack.base.conf.js module.exports...
  • 3.提交本地 //检查状态 git status //提交修改 git add . 4.设置远程仓库 git remote add origin 【仓库地址】 5.推送到github git push origin master 5.配置保存密码 在.git下面的config...
  • 1、本地安装依赖(postinstall-postinstall、patch-package) npm i patch-package postinstall-postinstall --save-dev or yarn add patch-package postinstall-postinstall 2、修改package.json 在package....
  • 数据库脚本使用 Flyway 管理,不需要手动导入数据库脚本,只需要提前在本地 MySQL 中创建一个空的数据库 vhr,并修改项目中关于数据的配置(resources 目录下的 application.properties 文件中)即可 提前准备好 ...
  • 本库已经向 react-native-wechat 提交合并请求#526,但由于 react-native-wechat 所使用的 WeChat SDK 已经是几年前的版本,新 SDK 接口变动大,我修改的代码相当多,几乎重构了核心部分,导致合并需要耗费不小时间...
  • 可参考:Vue PDF文件预览vue-pdf ,但现在又让加上pdf打印功能,发现打印时会出现乱码,这一条其实也做了说明,简单说来就是将依赖的node_modules里面的vue-pdf文件中的pdfjsWrapper.js文件进行修改,这样本地确实...
  • 可参考:Vue PDF文件预览vue-pdf ,但现在又让加上pdf打印功能,发现打印时会出现乱码,这一条其实也做了说明,简单说来就是将依赖的node_modules里面的vue-pdf文件中的pdfjsWrapper.js文件进行修改,这样本地确实...
  • node_modules 下相应的 xxx.min.js,复制到项目 static 文件夹下2.index.html 修改添加script引入3.修改 build/webpack.base.conf.js 文件:注释掉下面这行resolve: {extensions: ['.js', '.vue', '.json'],ali.....
  • 使用Angular本地调试的时候,经常出现内存不足的问题 FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory ...{project_path}/node_modules/.bin/ng.cmd @IF EXIST "%~dp0\node...
  • 1.开发模拟的小型数据库1.1新建目录,自动生产 epress() ../node_modules/.bin/express -e1.2再安装cnpm i 安装依赖得到库2 创建一个db.js 作为小型的数据库 2.1 创建一个数组 获取本地的文件const repos=require...
  • git 删除本地修改/新增文件

    千次阅读 2020-06-08 17:41:54
    忘记在.gitignore文件中添加 node_modules文件,于是开发过程中npm install 时产生了一堆跟踪变更文件,这个时候我想删除本地新增及修改的一堆node_modules里的东西,总不能手动处理吧,于是搜到两个特别好使的f方法...
  • 解压到本地安装的路径替换node_modules 这个目录的文件 修改环境变量: 新增 NODE_PATH 变量 值是node_modules的路径 使用 npm -v 查看安装版本,出现以下 C:\Users\Administrator>npm ...
  • 可参考:Vue PDF文件预览vue-pdf ,但现在又让加上pdf打印功能,发现打印时会出现乱码,这一条其实也做了说明,简单说来就是将依赖的node_modules里面的vue-pdf文件中的pdfjsWrapper.js文件进行修改,这样本地确实...
  • 在nodejs的安装目录中找到node_modules\npm\npmrc文件 修改如下即可: prefix = D:\nodejs\node_global cache = D:\nodejs\node_global
  • service/bin/vue-cli-service.js,该文件的修改基于vue-cli的版本为3.0.0-rc.2版本,这是node_modules内部文件,所以在升级vue-cli3.0时会被覆盖掉,所以建议存档,并且修改package.json中的本地开发依赖配置对象...
  • 1、将安装包放在 ./node_modules 下(运行npm 命令的目录); 2、通过require() 代码引入本地包; 【全局安装】 1、默认将安装包放在 C:\Users\xxx\AppData\Roaming\npm\node_modules(windows系统)...
  • 文件路径在 C:\Users\Su\AppData\Roaming\npm\node_modules\fis\node_modules\fis-command-server\server.js 打开server.js,在第63行添加 .option('-h, --host <string>', 'server host', S...
  • Node.js 使用例子

    2017-12-05 18:12:11
    1,在nodejs的安装目录,nodejs\node_modules\npm 修改npmrc文件 里面可以修改成淘宝镜像,也可以修改全局的地址,prefix,cache,控制台命令npm config list 利用 npm config set prefix 可以设置 2,npm list...
  • 进入公司实习的第一个月,导师让学习electron技术,经过两个星期的学习,做了一个小Demo。主要功能是用户在访问后台服务器访问... 项目文件路径:userSystem路径下为(node_modules文件是自己生成的依赖库不用管...
  • 此操作会将express安装在node_modules目录下,package.json文件不会被修改。之后代码上传上去其他人拉取到本地,执行npm install不会自动将express安装到node_modules目录下 2.npm installexpress --save(npm ...

空空如也

空空如也

1 2 3 4 5 6
收藏数 104
精华内容 41
关键字:

修改本地node_modules