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

webpack的安装

npm的配置文件

你创建一个项目文件夹,一般源文件都写在项目文件夹的src下,而这个项目的配置文件是在项目文件夹下的package.json的

这个配置文件会记录项目的名称,版本号,项目描述等

也会记录着项目所依赖的其他库的信息和依赖库的版本号 

我们怎么创建这个配置文件呢?

可以这样:

npm init

然后会弹出一些选项,进行设置就好了

不是所有的项目都要这样干的,针对Vue给我们提供了脚手架:Vue CLI

当用脚手架创建项目的时候会自动生成package.json

常见的配置文件

如果用npm init -y就是所有信息使用默认的

通过脚手架创建的项目的配置文件长这样:

常见的属性

有一些常见的属性

必须填写的是项目名称(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 start等方式运行

dependencies属性

dependencies属性是指无论开发环境还是生成环境都需要依赖的包

通常是项目开发需要用到的一些库模块vue、vuex、react、react-dom、axios等

与之对应的是devDependencies

devDependencies属性

一些包在生成环境是不需要的,比如webpack,babel等

这时候我们会通过npm install webpack --save-dev将它安装到devDependencies属性中

peerDependencies属性

还有一种项目依赖关系是对等依赖,也就是依赖的一个包必须是以另外一个宿主包为前提的

element-plus是依赖于vue3的,ant design是依赖于react、react-dom

依赖的版本管理

安装的依赖版本会出现:^2.0.3或者~2.0.3

这是何意呢?

npm的包通常需要遵循semver版本规范:

semver:https://semver.org/lang/zh-CN/

npm semver:https://docs.npmjs.com/misc/semver

什么是semver版本规范?

semver版本规范:X.Y.Z

X主版本号:当你做了不兼容的API修改(可能不兼容之前的版本)

Y次版本号:当你做了向下兼容的功能性新增(新功能增加,但是兼容之前的版本)

Z修订号:当你做了向下兼容的问题修正(没有新功能,修复了之前版本的bug)

那^和~是什么意思呢?

你写x.y.z表示一个明确的版本号

^x.y.z表示x不变,y和z永远安装最新的版本

~x.y.z表示x和y保持不变,z永远安装最新的版本

常见属性

engines属性

engines属性用于指定Node和NPM的版本号

在安装的过程中,会先检查对应的引擎版本,不符合就报错

也可以指定所在的操作系统(很少用)

webpack的安装

npm install webpack

如此安装webpack

还需要安装一个额外的东西,要不然webpack很多命令执行不了:

npm install -D webpack-cli

可以这样查看安装的webpack版本:

webpack --version

使用-g可以全局安装

要全局安装的一般都是工具包(随时可能敲它的命令)

项目安装

项目安装会在当前目录下生成一个node_modules文件夹

局部安装分为开发时依赖和生产时依赖

默认安装开发和生产依赖:

npm install axios
npm i axios

开发依赖:

npm install webpack --save-dev
npm install webpack -D
npm i webpack -D

根据package.json中的依赖包:

npm install

 

相关文章:

  • spring和Mybatis的各种查询
  • YOLO-UniOW概述 论文
  • 华为OD最新机试真题-反转每对括号间的子串-OD统一考试(B卷)
  • 小猴子摆玩具
  • python--=的用法
  • 用python制作一个打地鼠游戏
  • Condition源码解读(二)
  • 基于物理约束的稀疏IMU运动捕捉系统
  • Spring AI 集成多个大语言模型
  • canal高可用配置
  • Linux中的Shell脚本基础
  • 2025年5月通信科技领域周报(5.19-5.25):太赫兹通信规模商用启动 空天地一体化网络加速落地
  • 亚古数据:查询BVI(英属维尔京群岛)公司可以获取到什么信息和文件?
  • Cesium实现标注动画
  • get_rga_thread线程和low_camera_venc_thread线程获取低分辨率VENC码流数据
  • WES(二)——数据预处理
  • 美颜SDK功能模块化设计实战:滤镜、贴纸与人脸识别的协同实现
  • YOLOv8 区域计数系统:基于计算机视觉的智能物体计数方案
  • 各类效果名称收集
  • Nacos 服务注册发现案例:nacos-spring-cloud-example 详解
  • 网站登录页面模板/网站建设问一问公司
  • 网站诊断表/百度关键词排名查询
  • 定制手机壳的网站/现在什么网络推广好
  • 建设地方政府门户网站的措施/在百度怎么发布作品
  • 浅析淘宝网站的建设与运营论文/图片百度搜索
  • 网站建设的案例教程视频教程/seo排名赚下载