详解 Vue 目录及配置文件之 package.json
1.1 项目目录介绍
目录/文件 |
说明 |
详解 |
---|---|---|
build |
项目构建(webpack)相关代码 |
详解 |
config |
配置目录,包括端口号等 |
详解 |
node_modules |
npm 加载的项目依赖模块 |
详解 |
src |
这里是我们要开发的目录,基本上要做的事情都在这个目录里。里面包含了几个目录及文件: ♞ assets:放置一些图片,如 logo ♞ components:放置一些组件 ♞ views:页面(视图)组件 ♞ router.js:路由脚本文件 ♞ App.vue:项目入口文件 ♞ main.js::项目的核心文件 |
详解 |
static |
静态资源目录,如图片、字体等 |
详解 |
test |
初始测试目录,可删除 |
详解 |
.xxxx 文件 |
这些是一些配置文件,包括语法配置,git 配置等 |
|
index.html |
首页入口文件 |
|
package.json |
项目配置文件 |
详解 |
README.md |
项目的说明文档,markdown 格式 |
1.2 package.json
1.2.1 概述
package.json 文件其实就是对项目或者模块包的描述,里面包含许多元信息。比如项目名称,项目版本,项目执行入口文件,项目贡献者等等。npm install 命令会根据这个文件下载所有依赖模块。
1.2.2 配置说明
{
// 项目/模块名称,长度必须小于等于 214 个字符,不能以"."(点)或者"_"(下划线)开头,不能包含大写字母
"name": "myvue",
// 项目版本
"version": "1.0.0",
// 项目描述
"description": "project",
// 作者
"author": "Demo_Null",
// 是否私有,设置为 true 时,npm 拒绝发布
"private": true,
// 执行 npm 脚本命令简写,执行前面的简写就代表执行后面的命令
"scripts": {
"dev": "webpack-dev-server --inline --progress --config build/webpack.dev.conf.js",
"start": "npm run dev",
"unit": "jest --config test/unit/jest.conf.js --coverage",
"e2e": "node test/e2e/runner.js",
"test": "npm run unit && npm run e2e",
"lint": "eslint --ext .js,.vue src test/unit test/e2e/specs",
"build": "node build/build.js"
},
// 生产环境下,项目运行所需依赖
"dependencies": {
"vue": "^2.5.2",
"vue-router": "^3.0.1"
},
// 开发环境下,项目所需依赖
"devDependencies": {
"autoprefixer": "^7.1.2",
"babel-core": "^6.22.1",
"babel-eslint": "^8.2.1",
"babel-helper-vue-jsx-merge-props": "^2.0.3",
"babel-jest": "^21.0.2",
"babel-loader": "^7.1.1",
"vue-style-loader": "^3.0.1",
"vue-template-compiler": "^2.5.2",
"webpack": "^3.6.0",
"webpack-bundle-analyzer": "^2.9.0",
"webpack-dev-server": "^2.9.1",
"webpack-merge": "^4.1.0"
},
// 项目运行的平台
"engines": {
"node": ">= 6.0.0",
"npm": ">= 3.0.0"
},
// 供浏览器使用的版本列表
"browserslist": [
"> 1%",
"last 2 versions",
"not ie <= 8"
]
}
1.2.3 版本号描述
npm 模块的完整的版本号一般是 主版本 . 次要版本 . 补丁版本
,一般情况下,次要版本号发生改变的话,表示程序有重大更新。
☞ 使用 ~ 表示版本范围
版本号 |
描述 |
版本范围 |
说明 |
---|---|---|---|
~2.3.4 |
主版本 + 次要版本 + 补丁版本 |
[2.3.4,2.4.0) |
在主版本 + 次要版本不允许变更的前提下,允许补丁版本升级(补丁板板号下限是4,无上限) |
~2.3 |
主版本 + 次要版本 |
[2.3.0,2.4.0) |
在主版本 + 次要版本不允许变更的前提下,允许补丁版本升级 |
~2 |
主版本 |
[2.0.0,3.0.0) |
在主版本不允许变更的前提下,允许次要版本 + 补丁版本升级 |
☞ 使用 ^ 表示版本范围
版本号 |
描述 |
版本范围 |
说明 |
---|---|---|---|
^1.3.4 |
主版本号不为 0 |
[1.3.4,2.0.0) |
主版本不为 0,允许次要版本 + 补丁版本升级(此例下限是1.3.4,上线是 2.0.0 但不匹配 2.0.0) |
^0.2.3 |
主版本号为 0,次要版本号不为 0 |
[0.2.3,0.3.0) |
主版本为 0,次要版本不为 0,允许补丁版本升级(此例下限是 0.2.3,上限是 0.3.0 但不匹配 0.3.0) |
^0.0.3 |
主版本号 + 次要版本号均为 0 |
[0.0.3,0.0.4) |
主版本号 + 次要版本号均为 0,无法升级模块 |
^1.3 |
主版本不为 0,补丁版本缺失 |
[1.3.0,2.0.0) |
主版本不为 0,补丁版本因缺失被视作 0,允许次要版本 + 补丁版本升级到到最新(此例下限是 1.3.0,上线是 2.0.0 但不匹配 2.0.0) |
^0.2 |
主版本为 0,补丁版本缺失 |
[0.2.0,0.3.0) |
主版本为 0,补丁版本因缺失被视作 0,允许补丁版本升级到最新(此例下限是 0.2.0,上限是 0.3.0 但不匹配0.3.0) |
^1 |
主版本号不为 0,次要版本 + 补丁版本均缺失 |
[1.0.0,2.0.0) |
主版本不为 0,次要版本 + 补丁版本因缺失被视作 0,允许次要版本 + 补丁版本升级(此例下限是 1.0.0,上线是 2.0.0 但不匹配 2.0.0) |
^0 |
主版本号为 0,次要版本 + 补丁版本均缺失 |
[0.0.1,1.0.0) |
主版本为 0,次要版本因缺失被视作 0,补丁版本虽缺失但只能被视作 1,允许缺失的次要版本 + 补丁版本升级到最新(此例下限是 0.0.1,上限是 1.0.0 但不匹配 1.0.0) |
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Asp.Net Core 3.1 获取不到Post、Put请求的内容 System.NotSupportedException Specified method is not supported
- OpenGL ES for Android 播放视频
- Centos 7 在线安装 离线安装 最新 Docker-compose 的正确姿势 实践笔记
- OpenGL ES for Android 视频缩放、旋转、平移
- OpenGL ES for Android 相机预览
- OpenGL ES for Android 相机预览适配不同分辨率的手机
- Flutter Widgets 之 Container
- Flutter Widgets 之 Row和Column
- Flutter Widgets 之 SafeArea
- Flutter Widgets 之 Wrap
- Flutter Widgets 之 Expanded和Flexible
- 可能是Asp.net Core On host、 docker、kubernetes(K8s) 配置读取的最佳实践
- Flutter Widgets 之 AnimatedContainer
- Flutter Widgets 之 Opacity 和AnimatedOpacity
- 聊聊常见的服务(接口)认证授权