vue.js脚手架 cli3.0 究竟生成了什么东西

2018-12-1414:19:34WEB前端开发Comments4,356 views字数 2015阅读模式

这篇文章尽可能简单一点能解释通顺,让大家能大概理解脚手架生成了什么东西。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/gcs/8645.html


文件结构

|-- vue-cli 3.0
    |-- .gitignore  // git 忽略文件目录
    |-- babel.config.js // Babel 配置项
    |-- package.json // 配置文件 下面详解
    |-- README.md // 读我(项目介绍)
    |-- yarn.lock
    |-- public
    |   |-- favicon.ico // 网页tab的logo
    |   |-- index.html // 入口
    |-- src
        |-- App.vue 
        |-- main.js // 全局 js (App.vue挂载到#app)
        |-- assets // 资源目录
        |   |-- logo.png 
        |-- components // 组件目录
            |-- HelloWorld.vue 
复制代码

package.json

{
  "name": "hello-world",
  "version": "0.1.0",
  "private": true,
  "scripts": {
    "serve": "vue-cli-service serve",
    "build": "vue-cli-service build",
    "lint": "vue-cli-service lint"
  },
  "dependencies": {
    "vue": "^2.5.17"
  },
  "devDependencies": {
    "@vue/cli-plugin-babel": "^3.0.5",
    "@vue/cli-plugin-eslint": "^3.0.5",
    "@vue/cli-service": "^3.0.5",
    "babel-eslint": "^10.0.1",
    "eslint": "^5.8.0",
    "eslint-plugin-vue": "^5.0.0-0",
    "vue-template-compiler": "^2.5.17"
  },
  "eslintConfig": {
    "root": true,
    "env": {
      "node": true
    },
    "extends": [
      "plugin:vue/essential",
      "eslint:recommended"
    ],
    "rules": {},
    "parserOptions": {
      "parser": "babel-eslint"
    }
  },
  "postcss": {
    "plugins": {
      "autoprefixer": {}
    }
  },
  "browserslist": [
    "> 1%",
    "last 2 versions",
    "not ie <= 8"
  ]
}
复制代码

相应解释:

name:项目名 (如果发布到线上不能重名,只在本地跑忽略)文章源自菜鸟学院-https://www.cainiaoxueyuan.com/gcs/8645.html

version:版本号文章源自菜鸟学院-https://www.cainiaoxueyuan.com/gcs/8645.html

private:true(若true,设置拒绝发布)文章源自菜鸟学院-https://www.cainiaoxueyuan.com/gcs/8645.html

scripts:定义命令行可运行的脚本命令 例如:使用时 npm run serve 即可(例如serve是定义的key)文章源自菜鸟学院-https://www.cainiaoxueyuan.com/gcs/8645.html

{
    "serve": "vue-cli-service serve",
    "build": "vue-cli-service build",
    "lint": "vue-cli-service lint"
} 
复制代码

dependencies: 定义 生产环境 依赖的包和版本号文章源自菜鸟学院-https://www.cainiaoxueyuan.com/gcs/8645.html

devDependencies:定义 开发环境 依赖的包和版本号文章源自菜鸟学院-https://www.cainiaoxueyuan.com/gcs/8645.html

两者特点为:
    1.npm install 将安装两个环境依赖下的包
    2.如果只需要生产环境的依赖,则运行npm install packagename
    3.如果只需要开发环境的依赖,则运行npm install packagename --dev
复制代码

eslintConfig:代码规范和错误检查工具配置项 ,具体配置查看:click文章源自菜鸟学院-https://www.cainiaoxueyuan.com/gcs/8645.html

postcss: Vue CLI 内部使用了 PostCSS , 默认开启了 autoprefixer。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/gcs/8645.html

autoprefixer的作用:根据当前浏览器的普及度以及属性支持提供给你前缀

    举个例子应该都会明白:
    
    使用前:
    a{
         transition :transform 1s
    }

    使用后:
    a{
         -webkit-transition :-webkit-transform 1s;
         transition :-ms-transform 1s;
         transition :transform 1s
    }
复制代码

browserslist:指定了项目的目标浏览器的范围。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/gcs/8645.html

这个值会被 @babel/preset-env 和 Autoprefixer 用来确定需要转译的 JavaScript 特性和需要添加的 CSS 浏览器前缀。

具体怎么定义范围查看:[click](https://github.com/vuejs/vue-cli/tree/dev/packages/%40vue/cli-plugin-eslint)
复制代码

结语

cli 3.0 大概生成的文件解释就这么多。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/gcs/8645.html

官方文档上可以在项目上拓展很多插件和功能。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/gcs/8645.html

作者:肥猫Charles
链接:https://juejin.im/post/5c11fdc4e51d4523484c5203
来源:掘金
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。文章源自菜鸟学院-https://www.cainiaoxueyuan.com/gcs/8645.html

文章源自菜鸟学院-https://www.cainiaoxueyuan.com/gcs/8645.html
  • 本站内容整理自互联网,仅提供信息存储空间服务,以方便学习之用。如对文章、图片、字体等版权有疑问,请在下方留言,管理员看到后,将第一时间进行处理。
  • 转载请务必保留本文链接:https://www.cainiaoxueyuan.com/gcs/8645.html

Comment

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定