vue cli 3.0通用打包配置代码,不分一二级目录


Posted in Javascript onSeptember 02, 2020

1.项目根目录下新建vue.config.js,进行如下配置即可

module.exports={
 publicPath:'',
};

补充知识:Vue-CLI3.0更改打包配置

在实际项目开发中,我们一般会直接使用vue、vue-cli来搭建项目。vue框架的宗旨就是让初学者轻松上手,所以,对于打包配置的一些东西,vue的脚手架已经帮我们做好了完美的封装,让我们达到安装既用的效果,也不用担心太多不会做打包配置的问题。

在前期使用Vue-CLI2.0搭建项目时,我们可以在build目录下,直接修改webpack配置项。

但在Vue-CLI3.0中已经帮我们对webpack配置做了二次封装,在使用3.0版本搭建项目时,我们并不需要去关心原生webpack的配置,只需要查看Vue-CLI3.0官方API即可。

vue-cli3.0中的打包配置

vue-cli3.0的安装

npm install -g @vue/cli

使用vue-cli3.0搭建项目

vue create my-project

项目目录如下

vue cli 3.0通用打包配置代码,不分一二级目录

在创建好的项目中,并不存在webpack的配置文件。因为vue框架里,不需要知道如何配置webpack, 只需要在项目根目录下创建一个vue.config.js配置文件,通过vue-cli脚手架中的一些封装好的简单配置来实现即可。

Vue脚手架工具的宗旨是让用户配置起来更简单,所以在Vue-CLI3.0没有把webpack的一些配置项直接暴露给我们,而是在webpack的基础上再次封装了更简单的API,供我们使用。这样即便我们不会用webpack, 也可以通过一些简单的配置,对脚手架的一些打包配置以及打包流程做一些变更。

执行打包:npm run build

vue cli 3.0通用打包配置代码,不分一二级目录

vue-cli脚手架默认生成的打包目录为dist目录,如果我们想通过配置,改变打包生成的目录名称,可创建vue.config.js,通过outputDir来配置:

vue.config.js

module.exports = {
 outputDir: 'xiaochengzi' // 生成文件为xiaochengzi
}

再次打包:npm run build

vue cli 3.0通用打包配置代码,不分一二级目录

vue-cli对webpack的output.path做了再次封装,所以我们仅仅通过一个键值对outputDir: 'xiaochengzi'即可实现配置的更改。事实上,脚手架底层使用的还是:output.path

//vue-cli的api
outputDir: 'xiaochengzi'

//底层会通过webpack的配置项output.path实现
output: {
 path: path.resolve(__dirname, 'xiaochengzi')
}

以上只是举个例子,更多vue-cli配置需求请参考官方文档:Vue-CLI(查看官方详解)

特殊需求

项目中如果有特殊配置需求,Vue-CLI官方提供的配置API里无法实现的话,我们也可以通过官方预留的configureWebpack来对原生的webpack进行配置。

举个小栗子:

在刚刚创建好的项目根目录下新建static目录,在static目录下新增index.json文件:

vue cli 3.0通用打包配置代码,不分一二级目录

通过打包运行,我们想在浏览器通过访问localhost:8080/index.json直接可以访问到我们的json对象,不做配置的情况下,在浏览器访问显示如下:(还是初始页面)

vue cli 3.0通用打包配置代码,不分一二级目录

通过configureWebpack来对原生的webpack进行配置:

const path = require('path');
module.exports = {
 configureWebpack: { // 对原生的webpack进行配置 
 devServer: {
  contentBase: [path.resolve(__dirname, 'static')]
 }
 }
}

此配置标识:当访问指定文件时,webpack-dev-server服务不光回去打包后的dist目录下去查找文件,还会去static目录下查找文件,找到匹配文件后,既返回匹配文件内容。

再次打包运行:npm run serve

浏览器访问localhost:8080/index.json,显示结果如下:

vue cli 3.0通用打包配置代码,不分一二级目录

总结:Vue-CLI3.0不仅帮我们做了webpack的大量API的封装,还帮我们预留了不常用需求的配置接口,方便我们项目开发,减轻我们的学习难度(就算对webpack不太懂的情况下,也能通过阅读Vue-CLI官方文档,来轻松上手做webpack的配置)。

以上这篇vue cli 3.0通用打包配置代码,不分一二级目录就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
利用JQuery+EasyDrag 实现弹出可拖动的Div,同时向Div传值,然后返回Div选中的值
Oct 24 Javascript
jQuery.get、jQuery.getJSON、jQuery.post无法返回JSON问题的解决方法
Jul 28 Javascript
改进版通过Json对象实现深复制的方法
Oct 24 Javascript
页面右下角弹出提示框示例代码js版
Aug 02 Javascript
node.js实现逐行读取文件内容的代码
Jun 27 Javascript
JavaScript实现的一个日期格式化函数分享
Dec 06 Javascript
javascript编写实用的省市选择器
Feb 12 Javascript
详解用原生JavaScript实现jQuery的某些简单功能
Dec 19 Javascript
vue router带参数页面刷新或回退参数消失的解决方法
Feb 27 Javascript
JS Ajax请求会话过期处理问题解决方法分析
Nov 16 Javascript
解决js中的setInterval清空定时器不管用问题
Nov 17 Javascript
原生JS实现音乐播放器的示例代码
Feb 25 Javascript
Vue-cli打包后如何本地查看的操作
Sep 02 #Javascript
JavaScript this关键字指向常用情况解析
Sep 02 #Javascript
JavaScript arguments.callee作用及替换方案详解
Sep 02 #Javascript
JavaScript Array.flat()函数用法解析
Sep 02 #Javascript
通过实例解析JavaScript常用排序算法
Sep 02 #Javascript
手把手教你实现 Promise的使用方法
Sep 02 #Javascript
如何基于jQuery实现五角星评分
Sep 02 #jQuery
You might like
PHP 七大优势分析
2009/06/23 PHP
Javascript 类型转换方法
2010/10/24 Javascript
使用jQuery操作Cookies的实现代码
2011/10/09 Javascript
JavaScript mapreduce工作原理简析
2012/11/25 Javascript
javascript采用数组实现tab菜单切换效果
2012/12/12 Javascript
JS中的form.submit()不能提交表单的错误原因
2014/10/08 Javascript
js中this的用法实例分析
2015/01/10 Javascript
JavaScript 学习笔记之基础中的基础
2015/01/13 Javascript
javascript中mouseover、mouseout使用详解
2015/07/19 Javascript
javascript与jquery动态创建html元素示例
2016/07/25 Javascript
AngularJS基础 ng-paste 指令简单示例
2016/08/02 Javascript
原生js获取iframe中dom元素--父子页面相互获取对方dom元素的方法
2016/08/05 Javascript
关于动态执行代码(js的Eval)实例详解
2016/08/15 Javascript
JS实现六边形3D拖拽翻转效果的方法
2016/09/11 Javascript
浅谈jQuery双事件多重加载的问题
2016/10/05 Javascript
jQuery动态产生select option下拉列表
2017/03/15 Javascript
详解JavaScript中return的用法
2017/05/08 Javascript
element-ui中select组件绑定值改变,触发change事件方法
2018/08/24 Javascript
使用rollup打包JS的方法步骤
2018/12/05 Javascript
举例讲解Django中数据模型访问外键值的方法
2015/07/21 Python
用python做一个搜索引擎(Pylucene)的实例代码
2017/07/05 Python
1分钟快速生成用于网页内容提取的xslt
2018/02/23 Python
Python 打印中文字符的三种方法
2018/08/14 Python
Django实现一对多表模型的跨表查询方法
2018/12/18 Python
Python使用requests提交HTTP表单的方法
2018/12/26 Python
python单线程下实现多个socket并发过程详解
2019/07/27 Python
Python集合基本概念与相关操作实例分析
2019/10/30 Python
Python devel安装失败问题解决方案
2020/06/09 Python
Python 实现将某一列设置为str类型
2020/07/14 Python
Python通过format函数格式化显示值
2020/10/17 Python
python boto和boto3操作bucket的示例
2020/10/30 Python
优质服务口号
2014/06/11 职场文书
医药公司采购员岗位职责
2015/04/03 职场文书
学校艾滋病宣传活动总结
2015/05/09 职场文书
幼儿园六一儿童节主持词
2015/06/30 职场文书
Spring整合Mybatis的全过程
2021/06/28 Java/Android