Vue 官网: https://cn.vuejs.org/v2/guide/forms.html
尚硅谷Vue2.0+Vue3.0全套教程丨vuejs从入门到精通 https://www.bilibili.com/


npm uninstall vue-cli -g 或 yarn global remove vue-cli 卸载它。如果您的电脑已经安装了node.js 需要先卸载掉node.js,安装nvm之后,用nvm来安装node.js,管理nodejs
Set Node.js Symlink 这一步需要设置你的node.js 全局安装目录, npm install -g @vue/cli
# OR
yarn global add @vue/cli
1、切换到你要创建项目的目录,然后使用命令创建项目;
vue create xxxx
2、 启动项目
npm run serve
npm config set registry https://registry.npm.taobao.orgvue inspect > output.jsvue create vue_test


npm run serve


主要用来配置一个默认根路径,以后可以通过该根路径快速访问到子路径
{
"compilerOptions": {
"target": "es5",
"module": "esnext",
"baseUrl": "./",
"moduleResolution": "node",
"paths": {
//配置 webpack 别名
"@/*": ["src/*"], //
"@components/*": ["src/components/*"],
"@utils/*": ["src/utils/*"],
"@views/*": ["src/views/*"]
},
"lib": ["esnext","dom","dom.iterable","scripthost"]
},
//提高 IDE 性能
"exclude": ["node_modules", "dist", "build"],
}
//import AlarmDisHeader from "../../../component/AlarmDisHeader.vue"; 旧式写法
import AlarmDisHeader from "@/component/AlarmDisHeader.vue"; //配置@别名后 写法
如果开发的项目根目录下没有 jsconfig.json,在默认情况下,像 VS Code, 默认只会把 node_modules文件夹排除掉。
只要有可能,您应该使用不属于项目源代码的JavaScript文件排除文件夹。
意思就是 与开发无关的文件可以让 IDE 全部在编译时排除掉,像上面的配置中就排除了,构建过程依赖文件(node_modules)和生成的文件(dist 目录) 排除这些文件,可以提高 vscode 的性能。
{
"name": "vue_test", //项目名称
"version": "0.1.0", //版本
"private": true,
"description": "A Vue.js project", //描述
"author": "maoxb " , //作者
// 这里的脚本是分析项目的主要入口
"scripts": {
"serve": "vue-cli-service serve",
"build": "vue-cli-service build",
"lint": "vue-cli-service lint"
},
//dependencies 是需要发布到生产环境的。
"dependencies": {
"core-js": "^3.8.3",
"vue": "^2.6.14"
},
// devDependencies里面的插件只用于开发环境,不用于生产环境
"devDependencies": {
"@babel/core": "^7.12.16",
"@babel/eslint-parser": "^7.12.16",
"@vue/cli-plugin-babel": "~5.0.0",
"@vue/cli-plugin-eslint": "~5.0.0",
"@vue/cli-service": "~5.0.0",
"eslint": "^7.32.0",
"eslint-plugin-vue": "^8.0.3",
"vue-template-compiler": "^2.6.14"
},
// 对node版本的以及npm版本的要求
"engines": {
"node": ">= 4.0.0",
"npm": ">= 3.0.0"
},
// 浏览器要求,vue项目不支持ie8,因为ie8是es3,尚没有Object.defineProperty属性
"browserslist": [
"> 1%",
"last 2 versions",
"not ie <= 8"
]
}
"scripts": {
"serve": "vue-cli-service serve",
"build:prod": "vue-cli-service build",
"lint": "vue-cli-service lint"
},
const { defineConfig } = require('@vue/cli-service')
module.exports = defineConfig({
transpileDependencies: true
productionSourceMap: false,// 生产环境是否要生成 sourceMap
filenameHashing: false, //关闭文件名哈希
publicPath: './', // 部署应用包时的基本 URL
outputDir: 'dist', // 打包时输出的文件目录
assetsDir: 'assets', // 放置静态文件夹目录
devServer:{},// dev环境下,webpack-dev-server 相关配置
lintOnSave: false,//是否在开发环境下每次保存代码时都启用 eslint验证
css:{},// css的处理
chainWebpack:config=>{} //vue-cli内部的webpack配置
pluginOptions:{},// 可以用来传递任何第三方插件选项
})
productionSourceMap: false,// 生产环境是否要生成 sourceMap
publicPath: './', //部署应用包时的基本 URL
filenameHashing: false, //关闭文件名哈希
outputDir: 'dist', // 打包时输出的文件目录
assetsDir: 'assets', // 放置静态文件夹目录
devServer:{},// dev环境下,webpack-dev-server 相关配置
devServer:{
port : 8080, //开发环境运行时的端口
https:false,//是否启用HTTPS协议
open:true, //项目运行成功后是否直接打开浏览器
hot:true,//是否开启热加载
overlay:true,//当出现编译错误或警告时,在浏览器中显示全屏覆盖。
proxy: { //服务器代理
'/api': {
target: "api-url", // 实际跨域请求的API地址
secure: false, // https请求则使用true
ws: true,
changeOrigin: true, // 跨域
// 请求地址重写 http://front-end/api/login ⇒ http://api-url/login
pathRewrite: {
'^/api': '/',
}
},
// /api/sys/user -> /user
'/api/sys': { // 指的是如果请求的是/api/sys 开头的接口,则会转发到如下 target 地址去
target: 'http://localhost:9002/sys/',
changeOrigin: true,
pathRewrite: {
'^/api/sys': '' //此处的作用是:如果发送的请求是/api/sys/user 则会侦测到 /api/sys,同时把内容替换为空,留下 /user 然后把target+/user
}
}
}
},
lintOnSave: false,//是否在开发环境下每次保存代码时都启用 eslint验证
css:{},// css的处理 css:{
loaderOptions:{ // 向 webpack 的预处理器 loader 传递选项。共享全局变量
less:{
data:"@import "@/assets/styles/mixin.less" // 把less文件注入全局,在全局可以直接使用
},
scss:{
prependData: `@import "@/assets/styles/theme.scss";`//全局注入scss文件,可以在文件内编写scss代码
},
css:{
prependData: `@import "@/assets/styles/reset.css";`//全局注入css文件,可以在文件内编写css代码
}
}
}
chainWebpack:config=>{} //vue-cli内部的webpack配置
chainWebpack:config=>{
const types = ['vue-modules', 'vue', 'normal-modules', 'normal'];
config.resolve.alias.set('@', resolve('src'))//配置src别名为@
}
pluginOptions:{},// 可以用来传递任何第三方插件选项