当前位置: 首页 > Web前端 > vue.js

vue-config-js配置参考

时间:2023-03-31 20:43:55 vue.js

vue-config-js配置参考vue-cli3脚手架搭建完成,项目目录下没有vue.config.js文件,需要创建vue.config.jsvue.config。jsmanually是一个可选的配置文件,如果这个文件存在于项目的根目录下(类似于package.json),它会被@vue/cli-service自动加载。也可以使用package.json中的vue字段,但注意这种写法需要严格遵循JSON格式。在根目录下创建vue.config.jsvue.config.js配置。该文件应该导出一个包含选项的对象:配置选项publicPathType:stringDefault:'/'部署应用程序包时的基本URL,webpack本身的用法和输出。publicPath是相同的。这个值也可以设置为空字符串('')或相对路径('./'),这样所有的资源都会被链接成相对路径,这样包就可以部署在任何路径。将开发服务器设置在根路径,可以使用条件值:outputDirType:stringDefault:'dist'输出文件目录,即运行vue-cli-servicebuild时生成的生产环境构建文件的目录。请注意,目标目录在构建之前已清理(通过--no-clean以在构建时关闭此行为)。assetsDirType:stringDefault:''生成的静态资源(js、css、img、fonts)放置目录。注意:从生成的资产覆盖文件名或块文件名时,忽略assetsDir。indexPathType:stringDefault:'index.html'指定生成的index.html的输出路径(相对于outputDir)。也可以是绝对路径。filenameHashingType:booleanDefault:true默认情况下,生成的静态资源在其文件名中包含一个哈希值,以实现更好的缓存控制。但是,这也要求索引HTML由VueCLI自动生成。如果您不能使用VueCLI生成的索引HTML,您可以通过将此选项设置为false来关闭文件名散列。pagesType:ObjectDefault:undefined以多页(multi-page)模式构建应用程序。每个“页面”都应该有一个相应的JavaScript入口文件。它的值应该是一个对象,其键是条目的名称,值是:一个对象,指定条目、模板、文件名、标题和块(除条目外都是可选的);或指定其条目字符串的对象。注意:在多页面应用模式下构建时,webpack配置会包含不同的插件(在这种情况下,会有多个html-webpack-plugin和preload-webpack-plugin实例)。如果您尝试修改这些插件的选项,请确保运行vueinspect。lintOnSaveType:布尔值|'error'Default:true保存时是否使用eslint-loader检查。有效值:真??|假|“error”当设置为“error”时,检测到的错误将触发编译失败。runtimeCompilerType:booleanDefault:false是否使用包含运行时编译器的Vue构建。设置为true后,您可以在Vue组件中使用模板选项,但这会给您的应用程序增加大约10kb。transpileDependenciesType:ArrayDefault:[]默认情况下,babel-loader将忽略node_modules中的所有文件。如果你想用Babel明确地转换一个依赖,你可以在这个选项中列出它。productionSourceMapType:booleanDefault:true如果不需要生产环境的sourcemap,可以设置为false,加快生产环境搭建。crossoriginType:stringDefault:undefined在生成的HTML中设置和标签上启用子资源完整性(SRI)。如果您构建的文件部署在CDN上,则启用此选项可提供额外的安全性。webpack相关配置configureWebpackType:Object|Function如果这个值是一个对象,它会通过webpack-merge合并到最终的配置中。如果此值是一个函数,它将接收已解析的配置作为参数。此函数可以修改配置并且不返回任何内容,也可以返回配置的克隆或合并版本。chainWebpackType:Function是一个函数,它将接收基于webpack-chain的ChainableConfig实例。允许对内部webpack配置进行更细粒度的修改。css相关配置css.modulesType:booleanDefault:false默认情况下,只有以.module.[ext]结尾的文件才会被视为CSSModules模块。当设置为true时,您可以删除文件名中的.module并将所有.(css|scss|sass|less|styl(us)?)文件视为CSS模块。css.extractType:布尔值|ObjectDefault:生产环境为true,开发环境为false是否将组件中的CSS提取到一个单独的CSS文件中(而不是动态注入JavaScript中的内联代码)。css.sourceMapType:booleanDefault:false是否为CSS启用sourcemap。设置为true可能会影响构建性能。css.loaderOptionsType:ObjectDefault:{}将选项传递给CSS相关的加载器。支持的加载器是:css-loaderpostcss-loadersass-loaderless-loaderstylus-loaderdevServerType:Object支持所有webpack-dev-server选项。注意:某些值如主机、端口和https可能会被命令行参数覆盖。publicPath和historyApiFallback等一些值不应更改,因为它们需要与开发服务器的publicPath同步才能正常工作。devServer.proxyType:字符串|Object如果您的前端应用和后端API服务器不在同一台主机上运行,??您需要将API请求代理到开发环境中的API服务器。这个问题可以通过vue.config.js中的devServer.proxy选项进行配置。parallelType:booleanDefault:require('os').cpus().length>1是否为Babel或TypeScript使用线程加载器。当系统的CPU有多个内核且仅适用于生产构建时,此选项会自动启用。pwaType:将选项传递给PWA插件的对象。pluginOptionsType:Object这是一个不进行任何架构验证的对象,因此可用于传递任何第三方插件选项。//Vue.config.js配置选项module.exports={//选项//基本路径publicPath:"./",//构建时的输出目录outputDir:"dist",//放置静态资源的目录assetsDir:"static",//html的输出路径indexPath:"index.html",//文件名哈希filenameHashing:true,//用于多页配置,默认为undefinedpages:{index:{//页面入口文件entry:'src/index/main.js',//模板文件template:'public/index.html',//输出文件在dist/index.htmlfilename:'index.html',//当使用时页面标题选项被选中,//模板中的标题标签需要是<%=htmlWebpackPlugin.options.title%>title:'IndexPage',//该页面包含的块,默认情况下,以下内容将包含//提取的通用块和供应商块。chunks:['chunk-vendors','chunk-common','index']},//当使用entry-only字符串格式时,//默认模板文件是`public/subpage.html`//如果不是存在,回退到`public/index.html`。//默认输出文件是`subpage.html`。subpage:'src/subpage/main.js'},//保存时是否使用`eslint-loader`检查。lintOnSave:true,//是否使用浏览器内编译器的完整构建runtimeCompiler:false,//babel-loader默认会跳过node_modules依赖。transpileDependencies:[/*stringorregex*/],//是否要为生产构建生成源映射?productionSourceMap:true,//在生成的HTML中设置和标签上启用子资源完整性(SRI)。integrity:false,//调整内部webpack配置configureWebpack:()=>{},//(Object|Function)chainWebpack:()=>{},//配置webpack-dev-server行为。devServer:{open:process.platform==='darwin',host:'0.0.0.0',port:8080,https:false,hotOnly:false,//参见https://github.com/vuejs/vue-docs-zh-cn/blob/master/vue-cli/cli-service.md#配置代理proxy:{'/api':{target:"http://app.rmsdmedia.com",changeOrigin:true,sure:FALSE,PATHREWRITE:{"^/api":""}},'/Foo':{Target:''}},//字符串|ObjectBeFore:app=>{}},//csss相关选项css:{//将组件内部的CSS提取到单独的CSS文件中(只在生产环境使用)//也可以是传递给`extract的选项对象-text-webpack-plugin`extract:true,//你想启用CSSsourcemap吗?sourceMap:false,//为预处理器的加载器传递自定义选项。例如,当传递给//Css-loader时,使用`{Css:{...}}`。LoaderOptions:{CSS:{//此处的选项将传递给CSS-loader},postcss:{//此处的选项将传递给postcss-loader},//为所有CSS及其预加载器打开CSS模块处理文件。.//此选项不影响`*.vue`文件。modules:false},//在生产中为Babel和TypeScript使用`thread-loader`//在多核机器上默认启用。parallel:require('os').cpus().length>1,//PWA插件的选项。//查看https://github.com/vuejs/vue-docs-zh-cn/blob/master/vue-cli-plugin-pwa/README.mdpwa:{},//第三方插件的选项pluginOptions:{//...}}