vue-cli基础配置及webpack配置修改的完整步骤


Posted in Javascript onOctober 20, 2019

脚手架

脚手架帮我们帮我们把 webpack 等相关的配置都处理好,我们只需要基于脚手架快速构建一个项目即可(项目中一定包含webpack的相关配置)

vue脚手架  vue-cli

我们使用任何东西第一步都是安装

1.安装脚手架(一般安装在全局)

//=>用npm安装
$npm install @vue/cli -g
//=>用yarn安装
$yarn global add @vue/cli

安装成功后,全局环境会生成 $vue 的可执行命令,我们可以基于 $vue --version 来查看版本号,看是否安装成功

2.创建工程化项目

$vue create [项目名称](要遵循npm包的名称规范:数字或者小写字母)

vue-cli基础配置及webpack配置修改的完整步骤

第一项是我之前创建保存的配置,如果是第一次创建就有第二项和第三项

  • default (babel,eslint) :选择默认配置项(后期自己安装需要的模块和进行配置)
  • Manually select features :手动选择配置项

如果选择默认这篇文章就没有意义了,我们选择手动选择配置项

vue-cli基础配置及webpack配置修改的完整步骤

这里选择脚手架里的webpack配置,空格键是选择,我选择了以上这些项,如果有需要自行添减

  • babel(babel-preset-vue-app):babel-preset-env最新的ECMAScript功能、转换Vue JSX转换generator和async/await等
  • Router :Vue官方的路由管理器
  • Vuex :Vue中实现公共状态管理的插件 (处理组件之间的信息通信)
  • Css Pre-processors :CSS 预处理器(SASS/LESS/Stylus)
  • Linter / Formatter :eslint 语法检测
  • Unit Testing :单元测试
  • E2E Testing :端到端测试

vue-cli基础配置及webpack配置修改的完整步骤

是否使用路由器的历史模式,选择Y;选择哪个CSS 预处理语言的配置规则,我用的是less根据自己需要选择

vue-cli基础配置及webpack配置修改的完整步骤

选择自动化代码格式化检测,我用的 vscode 选的 ESLint+Prettier

vue-cli基础配置及webpack配置修改的完整步骤

选择第一个可以保存配置方便下次使用

vue-cli基础配置及webpack配置修改的完整步骤

  • 第一个选项是把配置信息放到一个单独的文件
  • 第二项是放到package.json里

创建后的项目目录

vue-cli基础配置及webpack配置修改的完整步骤

src :项目开发源文件

  • main.js :打包编译的入口文件
  • App.vue :项目页面的入口文件
  • components :存放当前项目的公共组件
    • xxx.vue
  • assets :一般存放项目中需要引入的静态资源文件
    • xxx.png
    • xxx.css

public

  • index.html :当前项目的主页面,我们最后把所有在src中写的内容,通过webpack、vue编译渲染,最后呈现在index.html中的#app容器中
  • xxx.xx :有些时候我们的某些资源可能要单独在index.html就引用了,将它放在此文件夹下,但是开发时除了这样的资源,其余的都建议放在src文件夹中

开发模式下我们基于下面这个命令,启动一个本地服务,把基于webpack编译后的内容预览

$npm run serve 或者 $yarn serve

生产模式下,把写好的内容进行编译打包,最后部署到服务器上

$npm run build 或者 $yarn build

vue-cli的其他命令

$vue inspect 查看当前项目默认的webpack配置信息
$vue add [plugin] 在当前项目中安装插件

$vue ui :以图形化界面创建和管理项目

会打开一个浏览器窗口,并以图形化界面将你引导至项目创建的流程

vue-cli基础配置及webpack配置修改的完整步骤

$vue create --help :可以查看vue中的命令

vue-cli基础配置及webpack配置修改的完整步骤

vue-cli的一点深入

创建项目后,默认的配置中已经把,例如:less/sass 等规则配好,如果我们的项目中需要使用less等,无需配置规则,只需要安装对应的模块和加载器即可

$yarn add less less-loader -D

<script>
  impoer './xxx/xxx.xx' //=>导入需要的模块
</script>

<style lang="less">
  ...../
</style>

修改默认的webpack配置

需要在根目录中创建 vue.config.js 文件,在这个文件中修改相关配置,下面代码就是修改webpack的相关配置

module.exports = {
	//=>process.env.NODE_ENV:环境变量中存储的是开发环境还是生产环境
	publicPath: process.env.NODE_ENV === 'production' ? 'http://www.xxx.cn/' : '/',
	//=>outputDir
	//=>自定义目录名称,把生成的JS/CSS/图片等静态资源放置到这个目录中
	assetsDir: 'assets',
	//=>关闭生产环境下的资源映射(生产环境下不在创建xxx.js.map文件)
	productionSourceMap: false,
	//=>设置一些webpack配置项,用这些配置项和默认的配置项合并
	configureWebpack: {
		plugins: []
	},
	//=>直接去修改内置的webpack配置项
	chainWebpack: config => {
		//=>config:原始配置信息对象
		config.module
			.rule('images')
			.use('url-loader')
			.loader('url-loader')
			.tap(options => {
				options.limit = 200 * 1024;
				return options;
			});
	},
	//=>修改webpack-dev-server配置(尤其是跨域代理)
	devServer: {
		proxy: {
			//请求地址 /user/add
			//代理地址 http://api.xxx.cn/user/add
			"/": {
				changeOrigin: true,
				target: "http://api.xxx.cn/"
			}
		}
	},
	//=>多余1核cpu时:启动并行压缩
	parallel: require('os').cpus().length > 1
  }

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对三水点靠木的支持。

Javascript 相关文章推荐
jQuery数组处理方法汇总
Jun 20 Javascript
让人印象深刻的10个jQuery手风琴效果应用
May 08 Javascript
当jQuery1.7遇上focus方法的问题
Jan 26 Javascript
微信中一些常用的js方法汇总
Mar 12 Javascript
使用jquery实现的循环连续可停顿滚动实例
Nov 23 Javascript
bootstrap fileinput 上传插件的基础使用
Feb 17 Javascript
jquery+ajaxform+springboot控件实现数据更新功能
Jan 22 jQuery
详解如何配置vue-cli3.0的vue.config.js
Aug 23 Javascript
vue+axios+promise实际开发用法详解
Oct 15 Javascript
详解微信小程序开发用户授权登陆
Apr 24 Javascript
一百行JS代码实现一个校验工具
Apr 30 Javascript
vue中使用v-model完成组件间的通信
Aug 22 Javascript
关于Vue中axios的封装实例详解
Oct 20 #Javascript
JavaScript相等运算符的九条规则示例详解
Oct 20 #Javascript
Vue.js下拉菜单组件使用方法详解
Oct 19 #Javascript
vue实现二级导航栏效果
Oct 19 #Javascript
vue.js实现二级菜单效果
Oct 19 #Javascript
vue实现多级菜单效果
Oct 19 #Javascript
vue.js实现三级菜单效果
Oct 19 #Javascript
You might like
WML,Apache,和 PHP 的介绍
2006/10/09 PHP
繁体中文转换为简体中文的PHP函数
2006/10/09 PHP
php内核解析:PHP中的哈希表
2014/01/30 PHP
php检查字符串中是否有外链的方法
2015/07/29 PHP
php编程实现简单的网页版计算器功能示例
2017/04/26 PHP
实例讲解PHP验证邮箱是否合格
2019/01/28 PHP
js 函数的副作用分析
2011/08/23 Javascript
jquery判断元素的子元素是否存在的示例代码
2014/02/04 Javascript
jquery防止重复执行动画避免页面混乱
2014/04/22 Javascript
深入了解JavaScript中的Symbol的使用方法
2015/07/28 Javascript
JavaScript实现的多种鼠标拖放效果
2015/11/03 Javascript
详解JavaScript基本类型和引用类型
2015/12/09 Javascript
Javascript中的prototype与继承
2017/02/06 Javascript
使用webpack搭建react开发环境的方法
2018/05/15 Javascript
react在安卓中输入框被手机键盘遮挡问题的解决方法
2018/09/03 Javascript
Vue中Axios从远程/后台读取数据
2019/01/21 Javascript
JS数组扁平化(flat)方法总结详解
2019/06/24 Javascript
vue 组件内获取actions的response方式
2019/11/08 Javascript
js实现踩五彩块游戏
2020/02/08 Javascript
Python 编码处理-str与Unicode的区别
2016/09/06 Python
python爬虫入门教程--快速理解HTTP协议(一)
2017/05/25 Python
Python基于matplotlib实现绘制三维图形功能示例
2018/01/18 Python
对numpy中array和asarray的区别详解
2018/04/17 Python
详解PyCharm配置Anaconda的艰难心路历程
2018/08/13 Python
Python中整数的缓存机制讲解
2019/02/16 Python
python实现全排列代码(回溯、深度优先搜索)
2020/02/26 Python
python GUI库图形界面开发之PyQt5窗口类QMainWindow详细使用方法
2020/02/26 Python
python使用OpenCV模块实现图像的融合示例代码
2020/04/10 Python
卸载tensorflow-cpu重装tensorflow-gpu操作
2020/06/23 Python
Waterford美国官网:爱尔兰水晶制品品牌
2017/04/26 全球购物
新郎父亲婚宴答谢词
2014/01/11 职场文书
《周恩来的四个昼夜》观后思想汇报范文两篇
2014/09/10 职场文书
个人借条范本
2015/05/25 职场文书
2016年党员干部公开承诺书
2016/03/24 职场文书
成人成长感言如何写?
2019/08/16 职场文书