js

npm 安装第三方插件(moment.js)

安装node.js
进入项目目录中打开cmd
npm init -y 安装完成后出package.json目录
npm install moment –save 安装完成后项目目录中出现node_modeles

 

目录结构如下

//页面引用
import moment from ‘moment’;
//methods使用
//moment(时间戳).format(‘生成什么格式’)
console.log(moment(new Date()).format(‘MM’)) // 获取月份
console.log(moment(new Date()).format(‘DD’)) // 获取日期

axios使用qs解决数组传参问题

今天在开发vue项目的时候出现问题:
在这里插入图片描述
经测试发现是params中携带数组出现的问题。
使用qs.stringify处理数组可以解决问题。

在这里插入图片描述
URL是这样的:http://localhost:8080/api/hotel/search?timeStart=1592651562020&timeEnd=1608203562021&star=One&star=Two&star=Three&star=Four&star=Five&lowerPrice=0&highPrice=10000&rate=0&name=

paramsSerializer

paramsSerializer对params每个键值对进行处理
如果直接对整个params进行qs.stringify的话:

params就只剩下一个key 0
在这里插入图片描述

indices: false

indices: false可以取消URL里数组的下标,如果不这么处理,后端收不到这个数组(名字因为加了下标而不匹配)

npm运行报错:Error: ENOSPC: System limit for number of file watchers reached

背景
最近用vue写一个项目,在服务器上用npm运行该vue项目的时候,执行npm run serve,整个过程执行到一半报错了:Error: ENOSPC: System limit for number of file watchers reached

 

原因
查了一下,是linux系统的限制导致这个报错了,需要设置一下:fs.inotify.max_user_watches 这个参数。

解决方法
执行:vim /etc/sysctl.conf,添加如下内容:

fs.inotify.max_user_watches=524288

输入:wq

在命令行执行:sysctl -p

重新执行:npm run serve,没有报错了。

npm 换成淘宝源

由于node下载第三方依赖包是从国外服务器下载,虽然没有被墙,但是下载的速度是非常的缓慢且有可能会出现异常。

所以为了提高效率,我们还是把npm的镜像源替换成淘宝的镜像源。有几种方式供我们选择

使用cnpm

使用阿里定制的cnpm命令行工具代替默认的npm,输入以下代码

$ npm install -g cnpm --registry=https://registry.npm.taobao.org

检测是否安装成功

$ cnpm -v

安装成功之后,以后安装依赖包的方式和npm的是一样的,只是npm的命令换成是cnpm就可以了

假如你已经习惯了使用npm的安装方式的,不想去下载阿里的cnpm命令工具的话,很简单,我们直接将node的仓库地址换成淘宝仓库地址即可

单次使用

$  npm install --registry=https://registry.npm.taobao.org

永久使用

在开发react-native的时候,不要使用cnpm!cnpm安装的模块路径比较奇怪,packager不能正常识别。所以,为了方便开发,我们最好是直接永久使用淘宝的镜像源

直接命令行的设置

$ npm config set registry https://registry.npm.taobao.org

手动修改设置

1.打开.npmrc文件(C:\Program Files\nodejs\node_modules\npm\npmrc,没有的话可以使用git命令行建一个( touch .npmrc),用cmd命令建会报错)
2.增加 registry =https://registry.npm.taobao.org  即可。

检测是否修改成功

// 配置后可通过下面方式来验证是否成功
npm config get registry
// 或
npm info express

注:如果想还原npm仓库地址的话,只需要在把地址配置成npm镜像就可以了

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

Error: Cannot find module ‘bug-versions/package.json’

Error: Cannot find module 'bug-versions/package.json'

自动装配package.json,然后自动安装所需的依赖
npm install --save-dev
cnpm install --save-dev

 

 

ERROR  Error: Cannot find module 'webpack'

cnpm install webpack --save-dev

 

ERROR  Error: Cannot find module '@vue/babel-preset-app'

npm install @vue/babel-preset-app -dev

 

npm ERR! Maximum call stack size exceeded

rm -rf node_modules package-lock.json

npm install