npm工具介绍

标签: Nodejs 分类: Javascript 创建时间:2021-07-09 02:52:14 更新时间:2024-11-15 10:49:44

1.Parcel

Parcel 是 Web 应用打包工具,适用于经验不同的开发者。它利用多核处理提供了极快的速度,并且不需要任何配置。

这个工具类似于webpack打包工具,但是不需要进行复杂的配置,只需要编写html,然后编写js文件,然后运行就可以打包es6的模块了,而且还提供了热部署的功能,修改了js代码,可以自动的部署和更新。这样就可以编写简单的es6的模块和html了。

参考文章:
1.快速开始
2.打包神器之Parcel使用指南 主要特点,和其他工具的区别,应用场景,相关的案例等,都有介绍。

问题

(1) Uncaught SyntaxError: expected expression, got ‘.’
使用import进行css导入的时候,在浏览器端查看,就会出现语法错误

1
import '../css/index.css';

【解决方法】
主要原因其实是因为我从openlayer管网复制的代码有问题,多了下面的两行,其中的 Pointer events 这一行删掉就可以了,不知道为什么,难道是因为不支持注解吗?

1
2
<!-- Pointer events polyfill for old browsers, see https://caniuse.com/#feat=pointer -->
<script src="https://unpkg.com/elm-pep"></script>
参考文章:
1.css 明明写了支持css,但是浏览器还是报错,难道是我的方法不对吗?

2.pnpm

pnpm据说是有更好的效率,能节约磁盘的容量,这个工具要试一试,但是使用过程中,还是出现了各种问题。

1
2
3
4
5
6
7
8
9
10
11
12
## npm安装
npm install -g pnpm
## mac安装
brew install pnpm
## 查看全局安装
pnpm list
## 设为国内源
pnpm config set registry https://registry.npmmirror.com
## 设为官方源
pnpm config set registry https://registry.npmjs.org/
## 清理缓存
pnpm store prune

问题

1.ERR_PNPM_TARBALL_INTEGRITY

我安装pnpm的时候,倒是非常的顺利.

(2) GET https://registry.npmmirror.com/echarts/download/echarts-5.2.1.tgz error (-3). Will retry in 10 seconds. 2 retries left
使用pnpm安装插件的时候,总是报错,安装一个echart5.2,总是安装不上报错,看样子是无法下载的问题,我自己手动下载之后,还是无法安装。我设置了.npmrc文件,其中添加了淘宝的镜像源,还是报错。使用yarn 就不会报错。不知道为什么,最后还是放弃了使用pnpm,等以后成熟了在来吧。

参考文章:
1.Echarts安装失败 这里有说是echarts版本和vue版本不兼容的问题。

2.autoreconf: not found

还有其他的问题:

  • no nasm (Netwide Assembler) found
  • pngquant failed to build, make sure that libpng-dev is installed

把相应的包安装上就可以了

1
2
3
sudo apt-get install autoconf automake libtool
sudo apt install libpng-dev
sudo apt install nasm

3.无法加载文件 C:\Program Files\nodejs\pnpm.ps1,因为在此系统上禁止运行脚本

1
2
3
4
5
pnpm : 无法加载文件 C:\Program Files\nodejs\pnpm.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 https:/go.micros
oft.com/fwlink/?LinkID=135170 中的 about_Execution_Policies。
所在位置 行:1 字符: 1
+ pnpm -v
+ ~~~~

【解决】

1
2
3
4
5
6
## 1.管理员身份打开终端,显示Restricted(表示状态是禁止的)
get-ExecutionPolicy
## 2.在终端执行:
set-ExecutionPolicy RemoteSigned
## 3.在终端命令执行,查看,显示RemoteSigned
get-ExecutionPolicy

4.Unable to find the global bin directory

【解决】

1
2
## 执行,然后重新打开一个终端,vscode需要关闭重新打开
pnpm setup

5.ERR_PNPM_READ_FROM_STORE  SyntaxError: Unexpected token g in JSON at position 0

执行一个新的库,原先是好的,后来总是出现问题,不知道哪里有问题了。

【尝试方案】
(1)尝试了将 node_modules 重新删除,删除 lock.json 文件,结果无效。
(2)执行了 pnpm store prune,结果还是报错。
(3)获取混存文件 pnpm store path,然后把整个目录删除了,无效。

参考文章:
【1】.pnpm install 报错ERR_PNPM_READ_FROM_STORE 删除node_modules和package-lock.json这俩文件(package-lock.json是我用npm install时产生的,之后使用pnpm install会重新生成一个pnpm-lock.yaml文件);执行pnpm store prune,清理存储;重新pnpm install
【2】.npm、yarn、pnpm如何清除缓存?
【3】.NPM install error “Unexpected token < in JSON at position 0” rm -rf node_modules,rm package-lock.json,npm cache verify,npm install

6.Expected “0.23.1” but got “0.21.5” esbuild

上面的问题还没有解决,新的问题出现了,安装pnpm install 的时候,出现了这个问题。

【解决方案】
在package.json后面添加了下面的东西。

1
2
3
"resolutions": {
"esbuild": "npm:esbuild@latest"
}
小额赞助
本人提供免费与付费咨询服务,感谢您的支持!赞助请发邮件通知,方便公布您的善意!
**光 3.01 元
Sun 3.00 元
bibichuan 3.00 元
微信公众号
广告位
诚心邀请广大金主爸爸洽谈合作
每日一省
isNaN 和 Number.isNaN 函数的区别?

1.函数 isNaN 接收参数后,会尝试将这个参数转换为数值,任何不能被转换为数值的的值都会返回 true,因此非数字值传入也会返回 true ,会影响 NaN 的判断。

2.函数 Number.isNaN 会首先判断传入参数是否为数字,如果是数字再继续判断是否为 NaN ,不会进行数据类型的转换,这种方法对于 NaN 的判断更为准确。

每日二省
为什么0.1+0.2 ! == 0.3,如何让其相等?

一个直接的解决方法就是设置一个误差范围,通常称为“机器精度”。对JavaScript来说,这个值通常为2-52,在ES6中,提供了Number.EPSILON属性,而它的值就是2-52,只要判断0.1+0.2-0.3是否小于Number.EPSILON,如果小于,就可以判断为0.1+0.2 ===0.3。

每日三省
== 操作符的强制类型转换规则?

1.首先会判断两者类型是否**相同,**相同的话就比较两者的大小。

2.类型不相同的话,就会进行类型转换。

3.会先判断是否在对比 null 和 undefined,是的话就会返回 true。

4.判断两者类型是否为 string 和 number,是的话就会将字符串转换为 number。

5.判断其中一方是否为 boolean,是的话就会把 boolean 转为 number 再进行判断。

6.判断其中一方是否为 object 且另一方为 string、number 或者 symbol,是的话就会把 object 转为原始类型再进行判断。

每日英语
Happiness is time precipitation, smile is the lonely sad.
幸福是年华的沉淀,微笑是寂寞的悲伤。