广告
返回顶部
首页 > 资讯 > 前端开发 > VUE >vue-cli配置文件之config的示例分析
  • 776
分享到

vue-cli配置文件之config的示例分析

2024-04-02 19:04:59 776人浏览 薄情痞子
摘要

这篇文章主要介绍了Vue-cli配置文件之config的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。首先我们先看一下config的

这篇文章主要介绍了Vue-cli配置文件之config的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

首先我们先看一下config的文件结构:

|-config
|---dev.env.js
|---index.js
|---prod.env.js

打开我们的vue项目文件夹我们可以清楚的看到文件夹下的三个文件, “dev.env.js” , “index.js” , “prod.env.js” ,我们先打开prod.env.js的文件,看里面的内容:

'use strict'
module.exports = {
 node_ENV: '"production"'
}

prod.env.js的内容非常简单,仅仅是导出了一个对象,里面写明了执行环境是“production(生产环境)”;我们接下来看与之对应的“dev.env.js”文件:

'use strict'
//引入webpack-merge模块
const merge = require('WEBpack-merge')
//引入刚才打开的prod.env.js
const prodEnv = require('./prod.env')
module.exports = merge(prodEnv, {
  NODE_ENV: '"development"'
})

在“dev.env.js”中,先引入了webpack-merge这个模块。这个模块的作用是来合并两个配置文件对象并生成一个新的配置文件,有点儿类似于es6的object.assign();

vue-cli中将一些通用的配置抽出来放在一个文件内,在对不同的环境配置不同的代码,最后使用webpack-merge来进行合并,减少重复代码,正如文档中所说,“ webpack遵循不重复原则(Don't repeat yourself - DRY),不会再不同的环境中配置相同的代码 ”

当然,关于webpack-merge的内容还远不止这些,想了解更多关于这个模块的朋友请访问 https://www.npmjs.com/package/webpack-merge

好,让我们接着回到代码中来,引入webpack-merge后这个文件又引入了prod.env.js,接着就将prod.env.js的配置和新的配置,即指明开发环境(development)进行了merge。(我有点儿不太理解为什么要这样做,如果不merge直接写module.exports={NODE_ENV:'"development'}也是可以的,难道是为了优雅降级?)

还有一点需要注意是的, development和production一定要加双引号,不然会报错!!!

最后,我们来看index.js:

'use strict'
// Template version: 1.2.4
// see Http://vuejs-templates.GitHub.io/webpack for documentation.
const path = require('path')
module.exports = {
 dev: {
 // Paths
 assetsSubDirectory: 'static',
 assetsPublicPath: '/',
 proxyTable: {},
 // Various Dev Server settings
 host: 'localhost', // can be overwritten by process.env.HOST
 port: 8080, // can be overwritten by process.env.PORT, if port is in use, a free one will be determined
 autoOpenBrowser: false,
 errorOverlay: true,
 notifyOnErrors: true,
 poll: false, // https://webpack.js.org/configuration/dev-server/#devserver-watchoptions-
 // Use Eslint Loader?
 // If true, your code will be linted during bundling and
 // linting errors and warnings will be shown in the console.
 useEslint: true,
 // If true, eslint errors and warnings will also be shown in the error overlay
 // in the browser.
 showEslintErrorsInOverlay: false,
 
 // https://webpack.js.org/configuration/devtool/#development
 devtool: 'eval-source-map',
 // If you have problems debugging vue-files in devtools,
 // set this to false - it *may* help
 // https://vue-loader.vuejs.org/en/options.html#cachebusting
 cacheBusting: true,
 // CSS Sourcemaps off by default because relative paths are "buggy"
 // with this option, according to the CSS-Loader README
 // (https://github.com/webpack/css-loader#sourcemaps)
 // In our experience, they generally work as expected,
 // just be aware of this issue when enabling this option.
 cssSourceMap: false,
 },
 build: {
 // Template for index.html
 index: path.resolve(__dirname, '../dist/index.html'),
 // Paths
 assetsRoot: path.resolve(__dirname, '../dist'),
 assetsSubDirectory: 'static',
 assetsPublicPath: '/',
 
 productionSourceMap: true,
 // https://webpack.js.org/configuration/devtool/#production
 devtool: '#source-map',
 // Gzip off by default as many popular static hosts such as
 // Surge or Netlify already gzip all static assets for you.
 // Before setting to `true`, make sure to:
 // npm install --save-dev compression-webpack-plugin
 productionGzip: false,
 productionGzipExtensions: ['js', 'css'],
 // Run the build command with an extra argument to
 // View the bundle analyzer report after build finishes:
 // `npm run build --report`
 // Set to `true` or `false` to always turn it on or off
 bundleAnalyzerReport: process.env.npm_config_report
 }
}

开头引入了node中的path模块,

然后我们先来看dev下的配置内容:

assetsSubDirectory指的是静态资源文件夹,默认“static”,

assetsPublicPath指的是发布路径,

proxyTable是我们常用来配置代理api的地方,后面的host和port相信大家都知道,我就不细说了,

autoOpenBrowser是否自动打开浏览器

errorOverlay查询错误

notifyOnErrors通知错误
,poll是跟devserver相关的一个配置,webpack为我们提供的devserver是可以监控文件改动的,但在有些情况下却不能工作,我们可以设置一个轮询(poll)来解决

useEslint是否使用eslint

showEslintErrorsInOverlay是否展示eslint的错误提示

devtool webpack提供的用来方便调试的配置,它有四种模式,可以查看webpack文档了解更多

cacheBusting 一个配合devtool的配置,当给文件名插入新的hash导致清楚缓存时是否生成souce maps,默认在开发环境下为true,不过文档中还写了一句话:“Turning this off can help with source map debugging.”额。。。

cssSourceMap 是否开启cssSourceMap
我们再来看build下的配置内容:
index 编译后index.html的路径,path.resolve(__dirname, '../dist')中

path.resolve(__dirname)指的是index.js所在的绝对路径,再去找“../dist”这个路径(node相关的知识),

assetsRoot打包后的文件根路径,至于assetsSubDirectory和assetsPublicPath跟dev中的一样,

productionSourceMap是否开启source-map,

devtool同dev,

productionGzip是否压缩,

productionGzipExtensions gzip模式下需要压缩的文件的扩展名,设置后会对相应扩展名的文件进行压缩

bundleAnalyzerReport 是否开启打包后的分析报告

截止到这儿,config文件夹下的内容基本上就过完了,正如名字告诉我们的,这三个文件仅仅是写死的配置文件,截止目前还没遇到太多

感谢你能够认真阅读完这篇文章,希望小编分享的“vue-cli配置文件之config的示例分析”这篇文章对大家有帮助,同时也希望大家多多支持编程网,关注编程网VUE频道,更多相关知识等着你来学习!

--结束END--

本文标题: vue-cli配置文件之config的示例分析

本文链接: https://www.lsjlt.com/news/79305.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • vue-cli配置文件之config的示例分析
    这篇文章主要介绍了vue-cli配置文件之config的示例分析,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。首先我们先看一下config的...
    99+
    2022-10-19
  • vue-cli中webpack配置文件的示例分析
    这篇文章主要为大家展示了“vue-cli中webpack配置文件的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“vue-cli中webpack配置文件的...
    99+
    2022-10-19
  • vue-cli中ESlint配置文件eslintrc.js的示例分析
    这篇文章将为大家详细讲解有关vue-cli中ESlint配置文件eslintrc.js的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。具体如下:1.eslint简...
    99+
    2022-10-19
  • vue-cli中babel配置文件.babelrc的示例分析
    这篇文章给大家分享的是有关vue-cli中babel配置文件.babelrc的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。vue-cli脚手架工具根目录的babelrc...
    99+
    2022-10-19
  • vue-cli中webpack模板项目配置文件的示例分析
    这篇文章主要为大家展示了“vue-cli中webpack模板项目配置文件的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“vue-cli中webpack模...
    99+
    2022-10-19
  • webpack之webpack.config.js配置文件的示例分析
    这篇文章主要为大家展示了“webpack之webpack.config.js配置文件的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“webpack之we...
    99+
    2022-10-19
  • vue-cli 3配置打包优化的示例分析
    这篇文章主要为大家展示了“vue-cli 3配置打包优化的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“vue-cli 3配置打包优化的示例分析”这篇文...
    99+
    2022-10-19
  • vue-cli基础配置及webpack配置修改的示例分析
    这篇文章主要为大家展示了“vue-cli基础配置及webpack配置修改的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“vue-cli基础配置及webp...
    99+
    2022-10-19
  • Vue中Eslint配置文件eslintrc.js的示例分析
    这篇文章将为大家详细讲解有关Vue中Eslint配置文件eslintrc.js的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。默认eslint规则:代码末尾不能加...
    99+
    2022-10-19
  • vue-cli系列之vue-cli-service整体架构的示例分析
    这篇文章给大家分享的是有关vue-cli系列之vue-cli-service整体架构的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。概述vue启动一个项目的时候,需要执行...
    99+
    2022-10-19
  • vue中vue-cli的示例分析
    这篇文章将为大家详细讲解有关vue中vue-cli的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。正文首先,我们来说一下安装的东西吧!处于有头有尾的目的,还是几句...
    99+
    2022-10-19
  • Vue CLI插件开发的示例分析
    这篇文章主要为大家展示了“Vue CLI插件开发的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Vue CLI插件开发的示例分析”这篇文章吧。1. 什么...
    99+
    2022-10-19
  • 基于vue-cli打包时抽离项目相关配置文件的示例分析
    这篇文章主要介绍基于vue-cli打包时抽离项目相关配置文件的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!前言:当使用vue-cli进行开发时时常需要动态配置一些设置,比如...
    99+
    2022-10-19
  • Hibernate配置文件的示例分析
    小编给大家分享一下Hibernate配置文件的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!有两种Hibernate配置文件格式,一种是XML,默认为Hi...
    99+
    2023-06-17
  • Redis3.2.6配置文件的示例分析
    小编给大家分享一下Redis3.2.6配置文件的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Redis3.2.6最新配...
    99+
    2022-10-18
  • Mysql配置文件的示例分析
    这篇文章给大家分享的是有关Mysql配置文件的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。[mysqld]port = 3306serverid = 1socket =...
    99+
    2022-10-18
  • package.json文件配置的示例分析
    这篇文章将为大家详细讲解有关package.json文件配置的示例分析,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。package.json 是npm init命令初始化...
    99+
    2022-10-19
  • vue-cli中vuex的示例分析
    这篇文章主要为大家展示了“vue-cli中vuex的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“vue-cli中vuex的示例分析”这篇文章吧。1.v...
    99+
    2022-10-19
  • Redis配置文件redis.conf的示例分析
    这篇文章主要介绍Redis配置文件redis.conf的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!redis.conf 配置项说明如下redis配置文件详解# ...
    99+
    2022-10-18
  • mysql中配置文件的示例分析
    这篇文章主要为大家展示了“mysql中配置文件的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“mysql中配置文件的示例分析”这篇文章吧。 # MyS...
    99+
    2022-10-19
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作