vue-cli3项目完整配置_vue-cli3配置_kattiekattie的博客-程序员秘密

技术标签: Vue  vue  vue-cli3  

一、项目目录

在这里插入图片描述

二、vue.config.js

需求:

  1. 项目打包时,文件后缀增加时间戳(防止服务器缓存)
  2. 加载less公共文件
  3. 跨域代理
const path = require("path");

const Timestamp = new Date().getTime();
module.exports = {
    
	configureWebpack: {
    
		output: {
     // 输出重构  打包编译后的 文件名称  【模块名称.版本号.时间戳】
			filename: `[name].${
      Timestamp}.js`,
			chunkFilename: `[name].${
      Timestamp}.js`
		},
	},
	pluginOptions: {
    
		//预加载公共less
		"style-resources-loader": {
    
			preProcessor: "less",
			patterns: [
				path.resolve(__dirname, "./src/assets/css/common.less")
			]
		}
	},
	devServer: {
    
		//跨域代理
		proxy: {
    
			'/api': {
    
				target: process.env.VUE_APP_APIADDRESS,
				changeOrigin: true,
				ws: true,
				pathRewrite: {
    
					'^/api': ''
				}
			}
		}
	}
}

function resolve(dir) {
    
	return path.join(__dirname, dir)
}

三、package.json

配置依赖
1.axios
2.vant(UI框架)
3.vconsole(调试窗口)
4.less
5.style预加载

注:脚本中修改运行命令
测试:vue-cli-service serve
生产:vue-cli-service build

{
    
  "name": "web",
  "version": "0.1.0",
  "private": true,
  "scripts": {
    
    "test": "vue-cli-service serve --mode test",
    "serve": "vue-cli-service build --mode development",
    "build": "vue-cli-service build --mode production"
  },
  "dependencies": {
    
    "axios": "^0.21.1",
    "core-js": "^3.6.5",
    "vant": "^2.12.2",
    "vconsole": "^3.3.4",
    "vue": "^2.6.11",
    "vue-router": "^3.2.0"
  },
  "devDependencies": {
    
    "@vue/cli-plugin-babel": "~4.5.0",
    "@vue/cli-plugin-router": "~4.5.0",
    "@vue/cli-service": "~4.5.0",
    "axios": "^0.18.0",
    "babel-plugin-import": "^1.13.3",
    "less": "^3.0.4",
    "less-loader": "^5.0.0",
    "style-resources-loader": "^1.3.2",
    "vue-cli-plugin-axios": "0.0.4",
    "vue-cli-plugin-style-resources-loader": "~0.1.4",
    "vue-template-compiler": "^2.6.11"
  },
  "browserslist": [
    "> 1%",
    "last 2 versions",
    "not dead"
  ]
}

四、babel.config.js

引入UI框架vant

module.exports = {
    
	presets: [
		'@vue/cli-plugin-babel/preset'
	],
	plugins: [
		['import', {
    
			libraryName: 'vant',
			libraryDirectory: 'es',
			style: true
		}, 'vant']
	]
}

五、环境配置文件

.env.test

NODE_ENV=test
VUE_APP_APIADDRESS=''

.env.development

NODE_ENV=development
VUE_APP_APIADDRESS=''

.env.production

NODE_ENV=production
VUE_APP_APIADDRESS=''

六、main.js

import Vue from 'vue'
import axios from './plugins/axios' //请求头部处理封装
import App from './App.vue'
import router from './router'
import "@/assets/js/m-base.js"; //移动端自适应
import user from './plugins/user.js' //用户信息处理文件
import Vconsole from 'vconsole'

//测试环境开启调试
if(process.env.NODE_ENV === "development" ){
     
	let vConsole = new Vconsole();
	Vue.use(vConsole)
}

//用户信息作为全局变量
Vue.prototype.user=user; 
Vue.config.productionTip = false

//读取当前页面title
router.beforeEach((to, from, next) => {
    
  /* 路由发生变化修改页面title */
  if (to.meta.title) {
    
    document.title = to.meta.title
  }
  next()
})

new Vue({
    
  router,
  axios,
  render: h => h(App)
}).$mount('#app')

七、readMe

Project setup

npm install

Compiles and hot-reloads for test(local)

npm run test

Compiles and hot-reloads for development

npm run serve

Compiles and minifies for production

npm run build
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/m0_37925276/article/details/113650602

智能推荐

c++运算符重载和友元函数_用重载的方法实现两个浮点数的加运算_「已注销」的博客-程序员秘密

1.运算符重载:例如+本来是用于两个整数或者两个浮点数进行相加的,如果我将+重载之后,可将+用于时间对象的相加,比如一个时间对象为1小时50分,一个时间对象为2小时30分,则这样两个时间对象通过重载的+可以直接进行运算得到4小时20分。2.重载+使得+能直接计算时间和的方法:只需要在operator后加上运算符号作为函数名即可:class Time{ private:

quartus增量编译_quartus 增量编译_nanyin_kang的博客-程序员秘密

首先,得先看看QuartusII的编译过程是个怎么样的,要了解这个过程很简单,看看下面这张图,谁都不陌生:当我们点全编译之后,下面的几个过程就会一个一个打上勾,而我们编译的过程也就是和这个运行过程是一致的:先是分析综合,再是布局布线,然后是汇编(这里不是指汇编语言的汇编,而是说将布局布线后的“电路”汇编成可下载到芯片内的“程序”),还有时序分析以及生成网表。我们仔细看它编译的过

NoC模拟器-论文学习_noc仿真软件_夏天望月兔的博客-程序员秘密

Noxim从https://github.com/davidepatti/noxim下载这是由卡塔尼亚大学(意大利)开发的片上网络模拟器。 Noxim仿真器是使用SystemC(一种基于C ++的系统描述语言)开发的,可以根据GPL许可条款进行下载。先学习文章:V. Catania, A. Mineo, S. Monteleone, M. Palesi and D. Patti, "Energy efficient transceiver in wireless Network on Chip.

关于不能继承HttpServlet的问题_为什么我写的servlet类不能继承genericseret_季梁的博客-程序员秘密

 今天准备写项目,eclipse出现了这个问题,显而易见是架包没导,在网上找到了解决办法,就是导入tomcat的servlet-api.jar但是感觉有点麻烦,我就在项目的Properties看了一下找到了问题所在。当然前提是你已经在eclipse配置好了tomcat,不然以下两种方法都没用。解决方法一:在tomcat的lib下找到servlet-api.jar放入到web项目下lib。解决方法二...

【python】numpy和tensor互相转换_numpy转tensor_机器不学习我学习的博客-程序员秘密

在用pytorch训练神经网络时,常常需要在numpy的数组变量类型与pytorch中的tensor类型进行转换。一、numpy转tensor首先,导入需要使用的包:import numpy as npimport torch然后创建一个numpy类型的数组:x = np.ones(5)print(type(x)) # 查看x的类型这里创建了一个一维的数组,5个都为1,我们打印一下这个x的类型显示如下:<class 'numpy.ndarray'>这个就说明现在x是nu

随便推点

IDEA使用技巧:下划线转驼峰及大小写转换插件和快捷键_idea下划线转驼峰_伤魂孤傲的博客-程序员秘密

idea带有快捷键ctrl+shift+u,来进行大小写的转换,这不能完全满足我们的需求。 IntelliJIDEA提供了CamelCase很方便的工具插件,使用快捷键shift+alt+u。按住shift+alt再不停的按U,会把选中内容的单词的下划线转驼峰转大写等,不停的转换,直到你想要的。CamelCase插件:1.安装方法:idea菜单栏-file-settings-搜索"plugins"-点击下面按钮‘browse repositories‘-搜索“CamelCase”-点击安装2.

浏览器与Web服务器的连接过程(一)_web怎么连接网页_白日梦小说家的博客-程序员秘密

当输入一个网址时,浏览器会按照一定的规则去分析这个网址的含义,然后生成请求消息;例如在浏览器输入下面的网址:**[http://www.lab.glasscom.com/sample1.html](http://www.lab.glasscom.com/sample1.html)**;在这个链接输入到浏览器后,浏览器生成的请求消息表示“请给我sample1.html这一文件中存储的网页数据”,然后浏览器会将请求消息发送给Web服务器,传输消息是搬运数字消息的机制负责的工作,浏览器会委托操作系统中的网络控制

Springboot报错java.util.concurrent.ExecutionException: java.lang.NoSuchMethodError:com.google.common_时间是一种解药的博客-程序员秘密

Springboot报错java.util.concurrent.ExecutionException: java.lang.NoSuchMethodError:com.google.common.net.HostAndPort.getHostText

Android 实现闹钟以及通知_识趣520的博客-程序员秘密

展示效果图: <?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:id="@+id/activity_main

ubuntu18.04 ROS melodic完整版教程及错误处理(附带 catkin_ws工作空间搭建)_hhz_999的博客-程序员秘密

一、配置Ubuntu软件库桌面点击Ubuntu软件,接着左上角点击Ubuntu软件,点击软件和更新。将可从互联网下载的所有选项选中,并且将下载自 选为 中国 的服务器二、安装过程及错误处理ros官网安装教程: ROS Instal设置安装源,与官网教程不同,此处需要设置代理源,如清华源sudo sh -c '. /etc/lsb-release &amp;&amp; echo "deb http://mirrors.ustc.edu.cn/ros/ubuntu/ $DISTRIB_CODE

OTL翻译(4) -- otl_stream类_otl_stream delete 语句_绝世神棍的博客-程序员秘密

原文地址:http://blog.sina.com.cn/s/blog_79d599dc0100rkq7.html otl_streamOtl_stream是具体实现otl_stream_concept的类。任何的SQL语句、SQL语句块和存储过程都能通过otl_stream进行处理。传统的数据库API处理SQL语句的时候,需要绑定变量与占位符,因此,程序员需要定义变量、解析S