作者:亮我mc踢弯的 | 来源:互联网 | 2023-08-12 17:06
推荐使用第二种方式创建项目1、安装前准备VueCLI需要Node.js8.9或更高版本(推荐8.11.0+)。npminstall-g@vuecli安装之后,就可以在命令行中访问v
推荐使用第二种方式创建项目
1、 安装前准备
Vue CLI 需要 Node.js 8.9 或更高版本 (推荐 8.11.0+)。
npm install -g @vue/cli 安装之后,就可以在命令行中访问 vue 命令。
2、 创建一个项目
两种方式:
(1)使用命令行
vue create 你的文件名英文
等待安装完成即可
去到项目根目录下使用 npm run serve
就可以将项目跑起来了!
(2)使用图形化界面
上述命令会打开一个浏览器窗口,并以图形化界面将你引导至项目创建的流程。
选择要放置项目文件的路径
下面选项看个人需求!
功能:
配置:
history模式和hash模式是不一样的!
使用 npm run serve
就可以将项目跑起来了
- 在项目根目录新建 vue.config.js 配置文件 (可选)
module.exports = {
baseUrl: '/', // 部署应用时的根路径(默认'/'),也可用相对路径(存在使用限制)
outputDir: 'dist', // 运行时生成的生产环境构建文件的目录(默认''dist'',构建之前会被清除)
assetsDir: 'public', //放置生成的静态资源(s、css、img、fonts)的(相对于 outputDir 的)目录(默认'')
indexPath: 'index.html', //指定生成的 index.html 的输出路径(相对于 outputDir)也可以是一个绝对路径。
pages: {
//pages 里配置的路径和文件名在你的文档目录必须存在 否则启动服务会报错
index: {
//除了 entry 之外都是可选的
entry: 'src/main.js', // page 的入口,每个“page”应该有一个对应的 Javascript 入口文件
template: 'public/index.html', // 模板来源
filename: 'index.html', // 在 dist/index.html 的输出
title: 'Index Page', // 当使用 title 选项时,在 template 中使用:
chunks: ['chunk-vendors', 'chunk-common', 'index'] // 在这个页面中包含的块,默认情况下会包含,提取出来的通用 chunk 和 vendor chunk
}
},
lintOnSave: true, // 是否在保存的时候检查
productionSourceMap: true, // 生产环境是否生成 sourceMap 文件
css: {
extract: true, // 是否使用css分离插件 ExtractTextPlugin
sourceMap: false, // 开启 CSS source maps
loaderOptions: {}, // css预设器配置项
modules: false // 启用 CSS modules for all css / pre-processor files.
},
//反向代理
// devServer: {
// // 环境配置
// host: '192.168.1.53',
// port: 8080,
// https: false,
// hotOnly: false,
// open: true, //配置自动启动浏览器
// proxy: {
// // 配置多个代理(配置一个 proxy: 'http://localhost:4000' )
// // '/api': {
// // target: 'http://192.168.1.248:9888',
// // // target: 'http://192.168.1.4:8999',
// // pathRewrite: {
// // '^/api': '/api'
// // }
// // }
// }
// },
pluginOptions: {
// 第三方插件配置
// ...
}
}
使用axios
npm i axios
在src里面新建utils文件夹,utils文件夹里新建axios.js
import axios from 'axios'
import Router from '../router'
axios.interceptors.request.use(
cOnfig=> {
return config
},
error => {
return Promise.reject(error)
}
)
axios.defaults.timeout = 36000000 //设置超时时间
axios.interceptors.response.use(
respOnse=> {
// 检测某种状态进行重定向
if (response.data.code === 403) {
Router.push({
name: 'login'
})
}
return response
},
error => {
return Promise.resolve(error.response)
}
)
export default axios
import axios from './utils/axios'
Vue.prototype.$axios = axios
so easy 的啦