VUE3.0 二. vue-cli3 配置指南
VUE3.0 二. vue-cli3配置指南
一.vue.config.js 详解
官网地址: https://cli.vuejs.org/zh/config/
使用vue3 的时候需要添加一个vue.config.js
const path = require('path');
module.exports = {// 基本路径publicPath: process.env.NODE_ENV === 'production' ? '' : '/',// 输出文件目录outputDir: process.env.NODE_ENV === 'production' ? 'dist' : 'devdist',// eslint-loader 是否在保存的时候检查lintOnSave: true,/*** webpack配置,see https://github.com/vuejs/vue-cli/blob/dev/docs/webpack.md**/chainWebpack: (config) => {},configureWebpack: (config) => {// config.resolve = { // 配置解析别名// extensions: ['.js', '.json', '.vue'],// alias: {// '@': path.resolve(__dirname, './src'),// 'public': path.resolve(__dirname, './public'),// 'components': path.resolve(__dirname, './src/components'),// 'common': path.resolve(__dirname, './src/common'),// 'api': path.resolve(__dirname, './src/api'),// 'views': path.resolve(__dirname, './src/views'),// 'data': path.resolve(__dirname, './src/data')// }// }},// 生产环境是否生成 sourceMap 文件productionSourceMap: false,// css相关配置css: {// 是否使用css分离插件 ExtractTextPluginextract: true,// 开启 CSS source maps?sourceMap: false,// css预设器配置项loaderOptions: {},// 启用 CSS modules for all css / pre-processor files.modules: false},// use thread-loader for babel & TS in production build// enabled by default if the machine has more than 1 coresparallel: require('os').cpus().length > 1,/*** PWA 插件相关配置,see https://github.com/vuejs/vue-cli/tree/dev/packages/%40vue/cli-plugin-pwa*/pwa: {},// webpack-dev-server 相关配置devServer: {open: false, // 编译完成是否打开网页host: '0.0.0.0', // 指定使用地址,默认localhost,0.0.0.0代表可以被外界访问port: 8080, // 访问端口https: false, // 编译失败时刷新页面hot: true, // 开启热加载hotOnly: false,proxy: null, // 设置代理overlay: { // 全屏模式下是否显示脚本错误warnings: true,errors: true},before: app => {}},/*** 第三方插件配置*/pluginOptions: {}
}
跨域以及html,css以及其他的webpack模块设置在vue.config.js中进行设置。具体的参数配置请参考官网。
二.项目结构以及配置说明:
以项目 harry-vue为例:项目地址
这里的dist、package.json、.env.development、.env.production、.env.staging、vue.config.js环境变量和模式等所需要的文件。我们简单的了解一下
项目中,分为开发环境和生产环境,如果每次都去做更改,就很麻烦,所以这里要根据不同的脚本区分不同的环境模式
官网:1 .env 在所有的环境中被载入
2 .env.local 在所有的环境中被载入,但会被 git 忽略
3 .env.[mode] 只在指定的模式中被载入
4 .env.[mode].local 只在指定的模式中被载入,但会被 git 忽略
在根目录新建文件,文件的格式为 .env.mode 分三个环境两个打包环境一个开发环境,具体看自己项目需求而定
.env.development 文件,该文件是平时开发所用
# just a flag
ENV = 'development'# base api
VUE_APP_BASE_API = 'api'
#(这里这样设置的目的是在开发中一般要设置跨域,这样设置,在axios请求的时候就无需方法名前加/api/,因为下面会设置默认的/api/)# vue-cli使用VUE_CLI_BABEL_TRANSPILE_MODULES环境变量,
# 控制是否启用babel-plugin-dynamic-import-node插件。
# 它只能通过将所有import()转换为require()来做一件事。
# 此配置可以显着提高热更新的速度,
# 当您有大量页面时。
# 详细信息:https://github.com/vuejs/vue-cli/blob/dev/packages/@vue/babel-preset-app/index.jsVUE_CLI_BABEL_TRANSPILE_MODULES = true
.env.production 文件是生产正式环境所用的
# just a flag
ENV = 'production'# base api
VUE_APP_BASE_API = '/prod-api'
.env.staging 文件是生产环境演示所用
NODE_ENV = production# just a flag
ENV = 'staging'# base api
VUE_APP_BASE_API = '/stage-api'
只有以 VUE_APP_ 开头的变量会被 webpack.DefinePlugin 静态嵌入到客户端侧的包中。你可以在应用的代码中这样访问它们
然后package.json文件scripts中添加该运行和打包脚本:
"scripts": {"dev": "vue-cli-service serve","build:prod": "vue-cli-service build","build:stage": "vue-cli-service build --mode staging","preview": "node build/index.js --preview","lint": "eslint --ext .js,.vue src","test:unit": "jest --clearCache && vue-cli-service test:unit","test:ci": "npm run lint && npm run test:unit","svgo": "svgo -f src/icons/svg --config=src/icons/svgo.yml"}
用法:vue-cli-service serve [options] [entry]
用法:vue-cli-service serve [options] [entry]
选项:–open 在服务器启动时打开浏览器–copy 在服务器启动时将 URL 复制到剪切版–mode 指定环境模式 (默认值:development)–host 指定 host (默认值:0.0.0.0)–port 指定 port (默认值:8080)–https 使用 https (默认值:false)
用法:vue-cli-service build [options] [entry|pattern]
用法:vue-cli-service build [options] [entry|pattern]
选项:–mode 指定环境模式 (默认值:production)–dest 指定输出目录 (默认值:dist)–modern 面向现代浏览器带自动回退地构建应用–target app | lib | wc | wc-async (默认值:app)–name 库或 Web Components 模式下的名字 (默认值:package.json 中的 “name” 字段或入口文件名)–no-clean 在构建项目之前不清除目标目录–report 生成 report.html 以帮助分析包内容–report-json 生成 report.json 以帮助分析包内容–watch 监听文件变化
其中的mode 就是指的是哪个环境,serve 默认的是development 在这里指的就是development环境(就是文件名.env后面的development,不是文件中的代码环境VUE_APP_ENV这个是自定义用于代码中判断所用。因为项目中文件名就是【.env.development】,所以scripts中忽略了)
build默认的是production,指的就是production环境,同理也是文件名【.env.后缀】
这样在实际项目中在main.js中直接设置其默认地址即可,会自动设置不同的地址
axios.defaults.baseURL = process.env.VUE_APP_BASE_URL;
验证的时候到了
在main.js中打印process.env
npm run dev
可以看到.env.development中的数据被打印出来
VUE3.0 二. vue-cli3 配置指南相关推荐
- 【Vue2.0】—Vue脚手架配置代理(二十二)
[Vue2.0]-Vue脚手架配置代理(二十二) 方法一 方法二
- vue cli3 配置sass全局变量设置不生效,sass混合器文件全局引入
vue cli3 配置sass全局变量的问题 首先确保依赖安装完整 找到vue.config.js加入配置信息 首先确保依赖安装完整 1.node-sass 2.sass-loader 3.style ...
- vue/cli3 配置vux
安装各插件 试过 安装"必须安装"的部分亦可 1.安装vuex npm install vuex --save-dev 2.在项目里面安装vux[必须安装] npm install ...
- vue3.0 使用vue脚手架生成vue项目 运行mapbox 3D地图例子
一.脚手架生成vue项目 1.安装脚手架:npm install -g @vue/cli 2.以图形界面创建vue项目 https://cli.vuejs.org/zh/guide/creating- ...
- Vue cli3配置生产环境,开发环境,和测试环境
目录 1.先在package.json文件中添加: 2.在项目目录下建立 .env文件和.env.test文件 3.配置api变量 3.1.配置axios的baseURL路径 3. ...
- vue cli3 配置上线 本地图标转换base64 显示
chainWebpack: config => {config.module.rule('images').use('url-loader').loader('url-loader').tap( ...
- 如何搭建一个完整的Vue3.0 + ts 的项目
如何搭建一个完整的Vue3.0 + ts 的项目 相信9月18日尤大大的关于Vue3.0的发表演讲大家一定有所关注,现在Vue3.0 也已经进入RC阶段(最终产品的候选版本,如果没有问题则可发布成为正 ...
- Vue3 —— 创建 Vue3.0 工程
系列文章目录 内容 参考链接 Vue3 创建 Vue3.0 工程 Vue3 - Composition API(零) setup函数.ref函数.reactive函数.响应式.reactive对比re ...
- 基于Vue3.0+Springboot在线购物商城网站设计
开发技术环境: Idea + Vscode + Mysql + Springboot + vue3.0 基于vue的购物商城网站分为前台功能和后台管理功能,前台功能主要包括基础功能模块.订单管理模块. ...
最新文章
- 【Flutter】屏幕像素适配方案 ( flutter_screenutil 插件 )
- 5、python学习之变量
- [JavaME]解决来电问题(Incoming Call)
- openlayers入门开发系列之地图属性查询篇
- no protocol specified
- JDK Bug系统浪费时间
- java网络编程与分布式计算_Java网络编程与分布式计算
- ARM处理器工作模式
- js数组往队头添加数据、js数组从队头移出数据
- 【Linux】【MySQL】CentOS7安装最新版MySQL8.0.13(最新版MySQL从安装到运行)
- 台式计算机视频设备打不开,电脑视频设备被占用未能创建视频预览怎么办
- redis thinkphp mysql_Thinkphp5怎么扩展Redis数据库,实现Redis的CURD操作
- MongoDB:MapReduce基础及实例
- ARTIF:实时威胁智能识别框架
- 本地数据库环境搭建(PhpStudy)
- SQLServer安装时哪些功能是必需的(sql server 2016安装时选择哪些功能)
- 用计算机探究规律的教学反思,《找规律》教学反思(精选11篇)
- 忘记压缩包密码 python 暴力破解rar密码
- 人工智能是否会改写商业规则
- 阴阳师ios和android,《阴阳师》App Store表现优异,安卓苹果惊喜同服