当前位置: 首页 > news >正文

网站建设的5个步骤是什么php网站如何做多语言

网站建设的5个步骤是什么,php网站如何做多语言,哪种源码做视频网站好用,深圳设计展2022代码共享方案 放到npm仓库,下载到本地放到node_modules npm配置文件 必须填写的属性:name、version name是项目的名称; version是当前项目的版本号; description是描述信息,很多时候是作为项目的基本描述&#xff1b…

代码共享方案

放到npm仓库,下载到本地放到node_modules

npm配置文件

必须填写的属性:name、version
name是项目的名称;
version是当前项目的版本号;
description是描述信息,很多时候是作为项目的基本描述;
author是作者相关信息(发布时用到);
license,是开源协议(发布时用到);
private属性记录当前的项目是否是私有的;当值为true时,npm是不能发布它的,这是防止私有项目或模块发布出去的方式;

配置文件获得方式
  • npm init
  • cli脚手架生成
常见属性:
必须填写的属性:name、version

name是项目的名称;
version是当前项目的版本号;
description是描述信息,很多时候是作为项目的基本描述;
author是作者相关信息(发布时用到);
license是开源协议(发布时用到);

private属性:

private属性记录当前的项目是否是私有的;
当值为true时,npm是不能发布它的,这是防止私有项目或模块发布出去的方式

main属性:

比如我们使用axios模块const axios=require(‘axios’)
如果有main属性,实际上是找到对应的main属性查找文件的;

scripts属性:

scripts属性用于配置一些脚本命令,以键值对的形式存在;口配置后我们可以通过npm run命令的key来执行这个命令;
npm start和npm run start的区别是什么?
它们是等价的:
对于常用的start.、test、stop、restart可以省略掉run直接通过npm starts等方式运行;

dependencies属性

dependencies属性是指定无论开发环境还是生成环境都需要依赖的包:通常是我们项目实际开发用到的一些库模块vue、vuex、ue-router、.react、react–dom、axios等等:与之对应的是devDependencies;

devDependencies属性

一些包在生成环境是不需要的,比如webpack、babel等,这个时候我们会通过npm install webpack-save-dev,将它安装到devDependencies属性中;

peerDependencies属性

还有一种项目依赖关系是对等依赖,也就是你依赖的一个包,它必须是以另外一个宿主包为前提的;
比如element-plus是依赖于vue3的,ant design是依赖于react、react-dom;

项目安装

  1. 项目安装会在当前目录下生成一个node modules文件夹,我们之前讲解require查找顺序时有讲解过这个包在什么情况下被查找;
  2. 局部安装分为开发时依赖和生产时依赖:
#默认安装开发和生产依赖
npm install axios
npm i axios
#开发依赖
npm install webpack --save-dev
npm install webpack -D
npm i webpack -D
#根据package.json中的依赖包
npm install

npm install原理

  1. 执行npm install’它背后帮助我们完成了什么操作?
  2. 我们会发现还有一个称之为package-lock.json的文件,它的作用是什么?
  3. 从npm5开始,npm支持缓存策略(来自yarn的压力),缓存有什么作用呢?
    在这里插入图片描述

yarn

cnpm

npx

npx的作用非常多,但是比较常见的是使用它来调用项目中的某个模块的指令

以webpack为例:

​ 全局安装的是webpack5.1.3
​ 项目安装的是webpack3.6.0

执行webpack --version

显示结果会是webpack5.1.3,事实上使用的是全局的,为什么呢?

原因非常简单,在当前目录下找不到webpack时,就会去全局找,并且执行命令;

执行局部命令

方式一:明确查找到node module下面的webpack
方式二:在scripts定义脚本,来执行webpack;.

./node modules/.bin/webpack --version
"scripts":{
"webpack":"webpack --version"
)
npx webpack --version

npx的原理非常简单,它会到当前目录的node modules/bin目录下查找对应的命令;

以前包管理工具的痛点:

在这里插入图片描述

每一次安装都要安装这些插件,就会造成磁盘很多冗余文件,于是pnpm就诞生了。

pnpm

  1. 快,节省内存
  2. 支持monorepos
OS硬链接和软连接的概念

硬链接(英语:hard link)是电脑文件系统中的多个文件平等地共享同一个文件存储单元
删除一个文件名字后,还可以用其它名字继续访问该文件:

指向的是同一个,修改了a,b也会被影响。

编辑东西在硬链接里面编辑,软连接编辑不了

符号连接(软连接)

符号链接(软链接、Symbolic link)是一类特殊的文件:
其包含有一条以绝对路径或者相对路径的形式指向其它文件或者目录的引用

快捷方式:保存一个文件的快捷方式(路径)。不能够通过软连接来编辑。

也是为什么当硬链接删除掉,符号链接没用了!

测试软硬连接

在这里插入图片描述

  1. 文件的拷贝:再在磁盘里面复制一份文件,然后再创建一个硬链接指向磁盘里面的文件。
  2. 文件的硬链接:创建两个方式共享同一个文件 —cmd测试
  3. 创建一个符号连接指向硬链接的地方,不能够通过符号连接,来更改源文件的内容。 — cmd测试
pnpm的工作原理

当使用npm或Yarn时,如果你有100个项目,并且所有项目都有一个相同的依赖包,那么,你在硬盘上就需要保存100份该相同依赖包的副本。如果是使用pnpm,依赖包将被存放在一个统一的位置

  1. 如果你对同一依赖包使用相同的版本,那么磁盘上只有这个依赖包的一份文件;
  2. 不同的版本,也只会保存不相同的文件
  3. 所有文件都保存在硬盘上的统一的位置
    1. 当安装软件包时,其包含的所有文件都会硬链接到此位置,而不会占用额外的硬盘空间
创建非扁平的node_modules

当使用npm或Yarn安装依赖包时,所有软件包都将被提升到node_modules的根目录下。因为npm觉得,不同包如果依赖的其他包相同的时候,不应该再次创建一个包,因此所有的包都会被提升到同一目录结构当中。

但是pnpm完美解决了这个问题,它虽然是非扁平的结构,但是它并不是生成真正的文件在这里,他是生成一个硬链接指向磁盘中的位置。

pnpm的存储store

pnpm在依赖查找的时候,会先去pnpm store中查找硬链接,pnpm store中是一大堆的hash字符,通过这写hash字符,可以查找到硬链接,再将本项目的node_modules指向这个硬链接。

pnpm store path 查找路径指令

释放pnpm空间

有时候删除了项目,所有的项目都没有依赖到那个包,但是pnpm store里面不会自动删除这个包。如果我们想要释放pnpm的空间,可以使用pnpm store prune这个命令。

总结:

  1. npm
  2. yarn
  3. cnpm
  4. pnpm

参考

codewhy包的讲解

s指向这个硬链接。

pnpm store path 查找路径指令

释放pnpm空间

有时候删除了项目,所有的项目都没有依赖到那个包,但是pnpm store里面不会自动删除这个包。如果我们想要释放pnpm的空间,可以使用pnpm store prune这个命令。

总结:

  1. npm
  2. yarn
  3. cnpm
  4. pnpm

参考

codewhy包的讲解

http://www.yayakq.cn/news/591763/

相关文章:

  • 西北苗木网陕西泽基生态建设有限公司网站sap系统
  • 建设美团网站深圳今天发生的重大新闻
  • 营口沿海开发建设有限公司网站常见的网站建设程序有哪些
  • 网站设计摘要 优帮云wordpress打包成假app
  • 精品下载站南京手机网站设计哪里专业
  • 做淘宝客需要自己建网站吗企业官网流程
  • 网站制作行业越来越难做阿里云做企业网站
  • 外贸网站建设公司案例中国主流媒体平台有哪些
  • 昆明网站建设案例织梦网站图片修改不了
  • 手机怎么做网站服务器温州网站建设优化
  • 免费网站的建设郑州福千欣隆网站建设有限公司
  • 旗舰店的网站怎么做网站建设一般多少钱新闻
  • 网站建设案例图片wordpress 获取子分类
  • 免费看国际短视频软件网络优化培训要多少钱
  • 做设计的素材网站小程序是什么意思
  • 做门户网站主要技术哪一块seo 什么意思
  • 商务网站开发实验报告注册安全工程师报名时间
  • 无锡网站制作排名微信版网站制作
  • 做电子杂志的网站在线网页代理浏览免费
  • 网络规划设计师教程2021版青岛seo经理
  • 大型做网站互联网站建设 天津
  • dz论坛做分类网站鑫菲互动网站建设公司
  • ssh做网站步骤福安seo
  • 专业做酒的网站有哪些99企业邮箱
  • 广州网站建设 广州亦客网络产品推广语
  • 虚拟币交易网站建设ciid中国室内设计官网
  • 嘉峪关市网站建设设计代理网页游戏需要什么条件啊
  • 查竣工验收报告的网站微信知彼网络网站建设
  • 大连做公司网站网站建设忄金手指专业
  • 搜索引擎禁止的方式优化网站长沙口碑好网站建设公司