独书先生 Menu

git多账户管理: 区分全局账户和本地账户

问题

公司使用gitlab私有仓库,开发把代码clone下来,并配置了全局账户,这样每次提交不用登陆,然后自己在github私有仓库的代码clone下来后续如何配置提交?

解决方案

针对使用https作为git地址的方法:
采用git提供的本地存储账户信息功能,把github自己的账户配置上本地登录信息.

步骤

  1. 查看项目地址
git remote -v

得到 https://github.com/XXX/YYY.git 的项目地址,XXX:为你的用户名, YYY是你的项目名, 复制下来,其实直接从github仓库中copy也一样

  1. 设置新的带用户名的地址,即在https://和github之间加上”用户名@”即可
git remote set-url origin https://XXX@github.com/XXX/YYY.git
  1. 设定本地项目的账户密码存储
git config --local credential.helper store
  1. 正常修改代码push一次,第一次会让你输入密码,之后就不用了
    git常用操作

tips:

查看是否有credential.helper

git config --global -l
git config --system -l

清除全局设置

git config --global --unset credential.helper
git config --system --unset credential.helper

我的是使用 git config --system -l 打印中包含 credential.helper=manager
说明全局已经配置

文章 github多账号如何切换? 中提到要把全局配置unset掉,我没弄,本地仓库也可以正常push,所以有什么细节可以参考下原文

https://appsoftea.com/zh/git-multiple-account/
引用自: https://www.zhihu.com/question/23028445 感谢!

完全卸载node npm

如何从Windows中删除Node.js

1.开始-搜索: node – 点击 uninstall node.js,  或者 从卸载程序卸载程序和功能。

2.重新启动(或者您可能会从任务管理器中杀死所有与节点相关的进程)。

3.寻找这些文件夹并删除它们(及其内容)(如果还有)。根据您安装的版本,UAC设置和CPU架构,这些可能或可能不存在:

C:\Program Files (x86)\Nodejs
C:\Program Files\Nodejs
C:\Users{User}\AppData\Roaming\npm(或%appdata%\npm)
C:\Users{User}\AppData\Roaming\npm-cache(或%appdata%\npm-cache)

4.检查您的%PATH%环境变量以确保没有引用Nodejs或npm存在。

5.如果仍然没有卸载,请where node在命令提示符下键入,您将看到它所在的位置 – 删除(也可能是父目录)。

6.重新启动,很好的措施。

以上就是删除node、卸载npm的全部方法了,通常,我们还会遇到安装npm模块报错,npm install安装卡住等情况,可以参照这篇博文 彻底解决npm install卡住不动npm安装报错最全指南

注意

小编经过多年的实践得到一个经验,不仅仅是处理上面说的npm安装问题,还有google搜索一些技术问题,一般来说谷歌的搜索结果更好,还有一些国外的技术网站分享的知识一般比较前沿,比如medium就必须翻墙才能上,想关注Twitter大佬也必须有梯子,大家也肯定遇到过GitHub clone开源项目大的项目基本clone不下来的情况。。。等等。

所以小编的经验是,每一个开发者都必须得有一个稳定可靠的梯子软件才能顺畅的开发。一个稳定的梯子可能可以解决你某个问题90%的部分,节省不少时间,可以说是程序员必备的软件,这里推荐笔者用过的 ExpressVPN

至于为什么选择Express VPN可以看这一篇解释:好用的VPN推荐

更多npm教程:

参考自: https://appsoftea.com/zh/uninstall-node-npm/, 感谢!

Uncaught TypeError: (intermediate value)(intermediate value).push is not a function

问题

vue cli3 + element-ui , 使用vue ui 界面工具打包(build) 项目,运行打包完成的项目时候控制台报错:

chunk-vendors.js:1 Uncaught TypeError: (intermediate value)(intermediate value).push is not a function at chunk-vendors.js:1 (anonymous) @ chunk-vendors.js:1

bootstrap:141 Uncaught TypeError: Cannot read property 'bind' of undefined at bootstrap:141 at bootstrap:151

分析

项目内通过静态资源目录(public)引入了另一个打包好的vue工程(1.这个工程是当前项目的前置依赖 2. 这个工程打包好的js是无chunks且不带hash值的,但是当前工程js是有chunks且带hash值的),把静态引入的工程去掉,就不会报那个错了,分析可能是静态工程和现有工程的打包方式冲突了.

百度一波没有解决方案,google一波省时省力,看到vue官方论坛有类似问题,参考

https://forum.vuejs.org/t/error-when-loading-vue-on-a-webpage-that-uses-webpack-3/48955

解决方案

vue.config.js中配置去除chunks即可暂时解决这个问题

chainWebpack: config => { 
  config.optimization.delete('splitChunks') 
}

npm常用命令及踩坑指南

记录常用的npm命令,不定期更新,欢迎继续关注

windows环境下:

1. 安装npm包

npm install jquery --save

2. 更新一个npm包

npm update jquery --save

3. 删除一个包

npm uninstall jquery --save

4. 安装指定版本的npm包

npm install jquery@2.2.4 --save

扩展: 如何区分–save 和–save–dev?

5. npm更新到最新

npm install npm@latest -g

6. npm降低版本

npm install npm@4 -g

7. 快速删除node_modules

npm install rimraf -g
rimraf node_modules

8. 报错:Node Sass could not find a binding for your current environment: Windows 64-bit with Node.js 8.x 如何处理?

npm rebuild node-sass
npm update

9. 报错:npm ERR! Error: EPERM: operation not permitted, rename 如何处理?

管理员模式运行cmd即可

10.使用淘宝镜像

  1. 临时使用
npm --registry https://registry.npm.taobao.org install koa
  1. 持久使用
npm config set registry https://registry.npm.taobao.org
  1. 通过cnpm
npm install -g cnpm --registry=https://registry.npm.taobao.org

11. 使用官方镜像

npm config set registry https://registry.npmjs.org/

12. 查看npm源地址

npm config get registry

更多npm技巧:
上传发布npm包步骤

npm –save和–save–dev 的区别

npm安装npm包: npm install jquery –save npm安装包到测试环境后缀用加–save-dev,仅生产环境用–save: npm install expose-loader –save-dev –save会把包安装在局部目录的名字和版本号存到package.json中,利于项目分享后,其他人也能快速通过npm install安装你的开发依赖,快速运行项目 npm install X:

  • 会把X包安装到node_modules目录中
  • 不会修改package.json
  • 之后运行npm install命令时,不会自动安装X

npm install X –save:

  • 会把X包安装到node_modules目录中
  • 会在package.json的dependencies属性下添加X
  • 之后运行npm install命令时,会自动安装X到node_modules目录中
  • 之后运行npm install –production或者注明NODE_ENV变量值为production时,会自动安装msbuild到node_modules目录中

npm install X –save-dev:

  • 会把X包安装到node_modules目录中
  • 会在package.json的devDependencies属性下添加X
  • 之后运行npm install命令时,会自动安装X到node_modules目录中
  • 之后运行npm install –production或者注明NODE_ENV变量值为production时,不会自动安装X到node_modules目录中

使用原则: 运行时需要用到的包使用–save,否则使用–save-dev。

Webpack采坑记录 (一)

背景

本系列文章记录在使用webpack中遇到的坑点,包含网友的解决方案,以及个性化的配置,仅用作参考。

Tips: 据我所知,webpack各个版本与其他不同版本的npm包搭配不同,实际采用的配置也不同,所以所有的设置仅针对个人开发环境,本文会尽量提供详细的开发配置,力争做到充分实践、上手即用,降低学习成本。

正文从这里开始

最近项目采用vue-cli 2 + webpack 3的开发环境,新版本的vue脚手架和webpack配置已有诸多不同,不在本文的讨论范围,往谅解。
Continue reading…

uglifyjs 快速批量压缩js文件 bat一键压缩混淆

背景

当前最好用的压缩混淆js插件:uglifyjs。

步骤

  1. 安装node + npm
  2. 打开cmd窗口,全局安装uglifyjs : npm install -g uglify-js

  3. 新建一个txt,再新建一个空白文件夹js, 把下方D:\tools\compresser_tool\js改成你自己的空白文件夹(js)目录,用于存放将要压缩的js文件
    Continue reading…