美文网首页
vue.config.js(1)初窥门径

vue.config.js(1)初窥门径

作者: 说的都是啥 | 来源:发表于2020-12-04 19:10 被阅读0次

官方地址

有些针对 @vue/cli 的全局配置,例如你惯用的包管理器和你本地保存的 preset,都保存在 home 目录下一个名叫 .vuerc 的 JSON 文件。你可以用编辑器直接编辑这个文件来更改已保存的选项。

你也可以使用 vue config 命令来审查或修改全局的 CLI 配置。

vue.config.js文件如果没有,可以手动创建.

  1. publicPath:设置资源的路径,如果首页为https://www.my-app.com/ 应用在https://www.my-app.com/my-app/ 则publicPath 应为 /my-app/。
Type: string,Default: '/',可以为空。即相对路径。
module.exports={
           publicPath:process.env.NODE_ENV
            ==='production'  ?  '/production-sub-path/'   :   '/'}
  1. outputDir:当运行 vue-cli-service build 时生成的生产环境构建文件的目录。注意目标目录在构建之前会被清除 (构建时传入 --no-clean 可关闭该行为)。
Type: string    Default: 'dist'
  1. assetsDir:放置生成的静态资源 (js、css、img、fonts) 的 (相对于 outputDir 的) 目录。
Type: string   Default: ''
  1. indexPath:指定生成的 index.html 的输出路径 (相对于 outputDir)。也可以是一个绝对路径。
Type: string   Default: 'index.html'
  1. filenameHashing:生成的静态资源包含了hash值,用于缓存,但是也需要你的index.html是由VueCli生成,可以设置为false。
Type: boolean  Default: true
  1. pages:以多页面模式构建应用程序时需要(太菜了,暂时用不到).
  2. lintOnSave:是否需要每次保存时都扫描代码查错,(一个工具,以后看)
  3. runtimeCompiler:没啥用 默认为Default: false
    image.png
    runtimeonly:以.vue文件的形式开发,更好用
    image.png
  4. transpileDependencies:涉及到了node_modules文件夹(第三个以后)
  5. productionSourceMap:生成一个map文件,map文件的作用在于:项目打包后,代码都是经过压缩加密的,如果运行时报错,输出的错误信息无法准确得知是哪里的代码报错。也就是说map文件相当于是查看源码的一个东西。如果不需要定位问题,并且不想被看到源码,就把productionSourceMap 置为false,既可以减少包大小,也可以加密源码。(第4个)
  6. crossorigin:只有当你的网页域名和要载入的静态文件存放的站点域名不一样的时候,才有意义(第5个)
  7. integrity:提高安全性(等以后)
  8. configureWebpack: Type: Object | Function(一个很有用,但是比较复杂的属性,以后再说)
  9. chainWebpack:修改内部的webpack配置(第7个)
  10. css.requireModuleExtension:默认情况下,只有 *.module.[ext] 结尾的文件才会被视作 CSS Modules 模块。设置为 false 后你就可以去掉文件名中的 .module 并将所有的 *.(css|scss|sass|less|styl(us)?) 文件视为 CSS Modules 模块。
Type: boolean    Default: true
  1. css.extract:将组件内的所有css提取出来组合成一个文件.
Type: boolean | Object    Default: 生产环境下是 true,开发环境下是 false
  1. css.sourceMap:是否为 CSS 开启 source map。设置为 true 之后可能会影响构建的性能。(map文件用来看源码,不管他)
  2. css.loaderOptions:向 CSS 相关的 loader 传递选项(以后专门研究,第8个)
  3. devServer:一个比较有用的服务器配置属性,可以配置打开网页的端口,是否自动打开等等(第9个)
  4. devServer.proxy:上面的属性的一个子属性
  5. parallel:生产构建时有用,build,可以用来提高效率.
  6. pwa:给pwa插件传递选项(第10个)
  7. pluginOptions:给所用插件提供选项,即一些公共参数.
// 定义一些公用参数,以供项目中使用
const pluginOptions = {
  // 项目名,定义成我们在云平台申请的应用名,类似 ***.vivo.com.cn
  projectName: 'huwd',
  // 本地ip
  host: ip.address(),
  // 定义端口
  port: 8080,
  // 登录的地址,需要一个client_id
  loginPath: 'https://psport.deio.com.cn/v3/web/login/authorze?client_id={client_id}',
  // 埋点上报的地址
  stPath: 'https://st-demss.reso.com.cn',
  // CDN域名,在云平台申请到的项目静态资源域名
  cdnPath: '/'
}

以上就是目前所有的选项
最后总结一下:当前时间2020.12.4,上述选项共23个,其中现在需要简单理解或简单记忆的有

publicPath(放置的路径),outputDir(输出路径),assetsDir(生成静态资源的路径),
indexPath(index.html的路径)filenameHashing(有关hash值),
runtimeCompiler(模板),runtimeonly,
css.extract(css提取).共7个

未来需要深入学习的有(优先级由高到低):

configureWebpack,css.loaderOptions
pluginOptions,devServer,devServer.proxy
css.requireModuleExtension,parallel
productionSourceMap,css.sourceMap
pwa,chainWebpack
pages,lintOnSave,transpileDependencies,

找到实习(皇天不负有心人)以后看情况的:

crossorigin(需要服务器),integrity(安全性),

相关文章

  • vue.config.js(1)初窥门径

    官方地址[https://cli.vuejs.org/zh/config/] 有些针对 @vue/cli 的全局配...

  • vue.config.js(2)初窥门径

    在某位前辈的项目里面看到了这样一句话: const WorkboxPlugin = require("workbo...

  • 初窥门径

    阅读第二章节的感悟很矛盾,时而感觉自己get到作者的点,时而又很模糊。譬如一开始的部分 这也是我阅读中经常会掉进...

  • 初窥门径-MonkeyRunner

    前面的内容请参见Android应用自动化测试-提纲。这篇开始我们来看从Android早期版本的SDK中就自带的一个...

  • socat 初窥门径

    如果您的工具箱需要高级一款高级系统管理工具,那 socat[http://www.dest-unreach.org...

  • AQS --- 初窥门径

    AQS这个词你可能耳熟能详了,但是面试问道,可能又说不出个所以然来。别急少年,我一次奇遇偶得一本失传已久的武林秘籍...

  • 关于投资,你不可不知的50个真相

    来源| The Mortley Fool 作者| Morgan Housel 【导读】不论你是初窥投资门径的菜鸟,...

  • Redis初窥门径——简介/安装

    Redis 简介 Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库。 知识扩展...

  • 讲故事之道——初窥门径

    2019年,转眼之间,已经过了一大半。这一年,断断续续地写了一些故事。想法纷繁涌现,但诉诸笔端的,终究是少数。好看...

  • Python终究大招之爬虫:初窥门径(1)

    Python终极,当前看来无法是三个方向:1.web后端配套django等2.网络爬虫方向的数据分析3.机器学习神...

网友评论

      本文标题:vue.config.js(1)初窥门径

      本文链接:https://www.haomeiwen.com/subject/vupiwktx.html