Package.json文件配置
Package.json文件配置
- 1、基本字段
- 2、scripts:指定了运行脚本命令的npm命令行缩写
- 3.dependencies字段,devDependencies字段:
- 4.peerDependencies
- 5.main字段
- 6.types字段
package.json字面意义上就是一个包的json格式配置文件,定义了这个项目所需要的各种模块,以及项目的配置信息(比如名称、版本、许可证等元数据)。
npm install命令根据这个配置文件,自动下载所需的模块,也就是配置项目所需的运行和开发环境。一般来说可以将其分为几部分理解:
1、基本字段
"name": "@lsqblogfe/components-react-restpop",//包名
"version": "1.0.46",//包版本
"description": "",//说明 "author": "", //作者
"license": "ISC", //证书
2、scripts:指定了运行脚本命令的npm命令行缩写
"css": "npx copyfiles -u 1 './src/**/*.css' ./dist/",
"assets": "npx copyfiles -u 1 ./src/assets/*.png ./dist/",
"clean": "rimraf ./dist && rimraf ./types",
"dev": "npm run clean && npm run css && tsc -w",
"build": "npm run clean && npm run css && npm run assets && tsc",
"prepublishOnly": "npm run build"
就比如执行npm run build的时候,会执行clean,复制css、assets文件到./dist文件下,然后编译tsconfig.json文件。
3.dependencies字段,devDependencies字段:
dependencies字段指定了项目运行所依赖的模块,devDependencies指定项目开发所需要的模块。
它们都指向一个对象。该对象的各个成员,分别由模块名和对应的版本要求组成,表示依赖的模块及其版本范围。
对应版本可以有各种限定
指定版本:,安装时只安装指定版本。比如1.2.2,遵循“大版本.次要版本.小版本”的格式规定。
波浪号(tilde)+指定版本:不改变大版本号和次要版本号。比如~1.2.2,表示安装1.2.x的最新版本(不低于1.2.2),但是不安装1.3.x。
插入号(caret)+指定版本:不改变大版本号。比如ˆ1.2.2,表示安装1.x.x的最新版本(不低于1.2.2),但是不安装2.x.x,也就是说安装时不改变大版本号。需要注意的是,如果大版本号为0,则插入号的行为与波浪号相同,这是因为此时处于开发阶段,即使是次要版本号变动,也可能带来程序的不兼容。
latest:安装最新版本。
"devDependencies": {"@lsqblogfe/core": "^1.3.0","copyfiles": "^2.4.1","rimraf": "^3.0.2","typescript": "^4.6.2"},"dependencies": {"@types/react": "^17.0.24","@lsqblogfe/components-react": "^1.2.1-alpha.4","tsc": "^2.0.3"},
4.peerDependencies
用来供插件指定其所需要的主工具的版本,一般用于此项目依赖的模块同时被另一个依赖的模块所依赖,且二者依赖的版本有区别。
最典型的例子就是插件,比如A模块是B模块的插件。用户安装的B模块是1.0版本,但是A插件只能和2.0版本的B模块一起使用。这时,用户要是将1.0版本的B的实例传给A,就会出现问题。因此,需要一种机制,在模板安装的时候提醒用户,如果A和B一起安装,那么B必须是2.0模块。
"peerDependencies": {"@lsqblogfe/core": "*"}
5.main字段
main字段指定了加载的入口文件,require(‘moduleName’)就会加载这个文件。这个字段的默认值是模块根目录下面的index.js,如果想要给用户提供多个组件,需要在入口文件将他们都导出。
"main": "dist/main.js",
main.js
JavaScript
export * from './Components/List';
export * from './Components/Swiper';
export * from './Components/Footer';
6.types字段
type字段相当于是一个声明,声明了所有文件和参数的类型。
package.json可以手动编写,也可以使用npm init 自动生成。其中只有name和version是必填的,其他配置都是选填
Package.json文件配置相关推荐
- npm package.json文件中的依赖关系,devDependencies和peerDependencies之间有什么区别?
本文翻译自:What's the difference between dependencies, devDependencies and peerDependencies in npm packag ...
- npm package.json文件解读
每个Nodejs项目的根目录下面,一般都会有一个package.json文件.该文件可以由npm init生成,定义了项目所需要的各种模块,以及项目的配置信息(比如名称.版本.许可证等元数据). pa ...
- 大前端快闪:package.json文件知多少?
最近在公司某项目参与了一些前端工作,作为后端抠脚大汉,改点前端细节磕磕绊绊,改点大前端.工程化.HTTP交互倒也还能做到柳暗花明. 于是打算用后端程序猿的视角记录一些{大前端}的知识快闪,也算是帮助读 ...
- package.json文件解读
package.json文件解读 {"name": "vue-04-cli-demo1", // 项目名称 "version": " ...
- VScode 插件中 package.json 文件字段详解
一.package.json文件内容 {// 插件的名字,应全部小写,不能有空格: string"name": "my-vscode-plugin",// 版本 ...
- Vue/React项目的package.json文件scripts命令解析
Node 开发离不开 npm,而脚本功能是 npm 最强大.最常用的功能之一. 1.什么是 npm 脚本? npm 允许在package.json文件里面,使用scripts字段定义脚本命令. {// ...
- package.json文件详解
目录 前言 一.package.json 文件作用 二.package.json 文件创建 三.package.json 文件示例 四.package.json 文件配置说明 前言 随着前端由多页面到 ...
- 模块加载及第三方包:Node.js模块化开发、系统模块、第三方模块、package.json文件、Node.js中模块的加载机制、开发环境与生产环境、cookie与session
1.Node.js模块化开发 1.1 JavaScript开发弊端 JavaScript 在使用时存在两大问题,文件依赖和命名冲突. 1.2 软件中的模块化开发 一个功能就是一个模块,多个模块可以组成 ...
- package.json文件||项目依赖||开发依赖
package.json文件 node_modules文件夹的问题 package.json文件的作用 项目描述文件,记录了当前项目信息,例如项目名称.版本.作者.github地址.当前项目依赖了哪些 ...
- node.js 中的package.json文件怎么创建?
最近在用webstorm和nodejs做一些东西,老是各种混乱,今天上午创建一个新的项目,结果发现,npm init之后,并没有出现package.json,并没有太明确他的功能的小姑娘表示十分的惊慌 ...
最新文章
- VC++ 串行化编程实例
- java spring省略jsp,Java +Tomcat + SpringMVC实现页面访问示例解析
- zookeeper安装_Linux下安装zookeeper
- Groovy 设计模式 -- 抽象工厂 模式
- react源码解读 {createClass}
- Android Bitmap Drawable 常用摘要
- 长治a货翡翠,永州a货翡翠
- 点云数据格式及处理工具
- DDD-领域驱动设计
- H5/web前端工程简历中的项目经验
- 北师大19秋计算机在线1,北师19秋《专科英语(二)》在线作业1【满分答案】
- ad软件one pin错误是啥意思_AD错误中英文对照
- java通过SMS短信平台实现发短信的功能
- 资深项目经理2019年总结
- SYS.MON_MODS$、SYS.MON_MODS_ALL$和DBA_TAB_MODIFICATIONS
- 个人如何做一个能赚钱的网站?
- 错误收集:备忘MPI Application rank 0 exited before MPI_Finalize()nbsp
- 一元线性回归模型(保姆级)
- minigui:mips平台交叉编译报错error: include location /usr/include/ is unsafe for cross-compilation
- 【郝斌老师数据结构学习笔记 day 6】