1. Vue CLI 客户端
三大组件
1、Vue @vue/cli
2、Vue @vue/cil-service
3、Vue @vue/cli-plugin
vue create
注意点:vue 项目名称不能包含大写字母。
预设 preset:
① TypeScrip 和 JavaScript(类比java平台:Java 和 kotlin)
② PWA:Progressive Web APP 渐进式WEB应用程序
③ CSS Pre-processors:Less、Sass
④ Unit Testing:单元测试
⑤ Babel:做浏览器脚本语言(Browser)兼容性辅助,将高级的JS代码编译成低级的JS代码。
⑥ Vuex:vue项目管理(Plugin)
⑦ ESlint:ECMA Script Lint 代码规范,格式校验。
Where do you perfer placing config for Babel,ESlint,etc. ?
in dedicated file. 在独立的文件中
vue create help 查看vue选项指令
vue ui 开启图形化界面
项目结构
main.js # 程序入口(webpack打包入口),引入各种的公共组件或者所需要使用的Plugin(例如:vuex,vue-router,electron-builder)App.vue # 根组件(唯一性)在main.js中被vm实例中的render函数所渲染(render:粉刷 造成 翻译 致使 给予 表达)package.json # npm 的配置文件,里面设置脚本和项目依赖的库package-lock.json # 版本锁,控制项目依赖的版本和仓库来源.gitignore # 配置在git提交项目代码的时需要忽略的文件或者文件夹babel.config.js # Babel 配置文件
package.json
{"name": "kingcard", ## 项目名称"version": "0.1.0", ## 项目版本"private": true, ## 是否是私有项目"scripts": { ## 项目在生命周期中各个环节需要执行的脚本(简化)"serve": "vue-cli-service serve","build": "vue-cli-service build","lint": "vue-cli-service lint","electron:build": "vue-cli-service electron:build","electron:serve": "vue-cli-service electron:serve","postinstall": "electron-builder install-app-deps","postuninstall": "electron-builder install-app-deps"},"main": "background.js","dependencies": { ## 配置项目的模块包的依赖"axios": "^0.22.0","core-js": "^3.6.5","electron": "^15.2.0","jsonp": "^0.2.1","less": "^4.1.2","vue": "^2.6.14","yarn": "^1.22.17"},"devDependencies": { ## 配置项目的模块包的依赖(开发环境,不发布到生成环境production)"@vue/cli-plugin-babel": "~4.5.0","@vue/cli-plugin-eslint": "~4.5.0","@vue/cli-service": "~4.5.0","babel-eslint": "^10.1.0","electron": "^13.0.0","electron-devtools-installer": "^3.1.0","eslint": "^6.7.2","eslint-plugin-vue": "^6.2.2","less-loader": "^7.3.0","vue-cli-plugin-electron-builder": "~2.1.1","vue-template-compiler": "^2.6.11"},"eslintConfig": { ## 语法规范,格式校验的配置"root": true,"env": {"node": true},"extends": ["plugin:vue/essential","eslint:recommended"],"parserOptions": {"parser": "babel-eslint"},"rules": {"vue/no-unused-components": "off"}},"browserslist": ["> 1%","last 2 versions","not dead"]}
在发布代码的时候,我们不会node_module也发布,会根据package.json文件执行终端npm install来下载我们需要的模块包。
