vue-cli脚手架配置项 之 css.extract 可能需要注意的地方, 你的项目生产环境下出问题了吗?

1.文档

Default: 生产环境下是 true,开发环境下是 false

是否将组件中的 CSS 提取至一个独立的 CSS 文件中 (而不是动态注入到 JavaScript 中的 inline 代码)。

同样当构建 Web Components 组件时它总是会被禁用 (样式是 inline 的并注入到了 shadowRoot 中)。

当作为一个库构建时,你也可以将其设置为 false 免得用户自己导入 CSS。

提取 CSS 在开发环境模式下是默认不开启的,因为它和 CSS 热重载不兼容。然而,你仍然可以将这个值显性地设置为 true
在所有情况下都强制提取。

  1. 动态注入到 JavaScript 中的 inline 代码是指:

具体来说,Webpack 会将组件中的样式代码转换成 JavaScript 对象,然后在组件的 JavaScript 代码中创建一个
style 标签,将这个对象转换成 CSS 样式,并将其插入到这个 style 标签中。最后,Webpack 会将这个 style
标签插入到 HTML 页面中,以动态注入样式

  1. 区别
  1. css.extract = true 则提取css成为外部文件, 而不是inline方式–>动态JavaScript注入, 这样的话网络就需要请求额外的css文件, 但是JavaScript代码会变少
  2. css.extract = false 不需要请求额外的css文件, 但是JavaScript代码会变多
  1. 注意点
  • 从工程构建的角度, 这是两种不同的css处理模式, vue-cli默认值开发环境和生产环境不一致, 所以不能保证开发环境, 生产环境完全一致, 如果出现css问题可能需要在配置文件手动指定css.extract的值
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: vue-cli5中的vue.config.js是用来配置Vue项目配置文件。它可以用来配置webpack的一些选,如入口文件、输出文件、模块解析、插件等等。在vue.config.js中,我们可以设置一些常用的配置,如publicPath、outputDir、devServer等等,来满足我们的需求。同时,我们也可以通过vue.config.js来配置一些自定义的loader和plugin,来满足我们的特殊需求。总之,vue.config.js是一个非常重要的配置文件,它可以帮助我们更好地定制化我们的Vue项目。 ### 回答2: Vue CLI5 为我们提供了一种简单易用的方式来配置我们的Vue.js应用程序。Vue.js是一款非常受欢迎的JavaScript框架,Vue CLI5帮助我们快速构建Vue.js应用程序并提供了一个灵活的配置系统,其中包括一个名为vue.config.js的配置文件。 vue.config.js是一个可选的配置文件,它允许我们自定义Vue应用程序的行为。在该文件中,我们可以定义不同的选来控制构建和开发过程的不同方面,如Webpack配置、启用CSS预处理器、配置代理服务器,以及添加或修改Webpack的loader和插件。 下面是一些常见的选可以在vue.config.js中进行配置: - publicPath: 配置公共路径,用于指定应用程序在生产环境下的根路径。 - outputDir: 配置输出目录,用于指定生成的应用程序的输出目录。 - assetsDir: 配置静态资源目录,用于指定放置生成的静态资源的目录相对于outputDir的路径。 - configureWebpack: 配置Webpack对象,用于覆盖默认的Webpack配置。 - chainWebpack: 配置Webpack链,用于在默认Webpack配置下修改Webpack选。 - devServer: 配置开发服务器对象,用于启用开发服务器并代理API请求到API服务器。 - css: 配置CSS,例如启用CSS预处理器,设置CSS loader选。 下面是一个简单的vue.config.js示例: ```javascript module.exports = { publicPath: '/my-app/', outputDir: 'dist', assetsDir: 'static', configureWebpack: { plugins: [ new MyPlugin() ] }, devServer: { proxy: { '/api': { target: 'http://localhost:3000', ws: true, changeOrigin: true } } }, css: { loaderOptions: { css: { // options here } } } } ``` 这是Vue CLI5应用程序的默认配置,通过在vue.config.js中添加自定义选,我们可以在不触碰默认选的情况下扩展和定制应用程序的功能。 总之,Vue CLI5帮助我们加速Vue.js应用程序的开发,并提供了一个非常有用的配置文件vue.config.js,让我们可以轻松地自定义和定制Vue应用程序的各个方面。 ### 回答3: vue.config.js是Vue的配置文件,可以用于配置Webpack、Babel、ESLint、反向代理等。vue-cli5(Vue CLI的5.x版本)是Vue CLI的下一代版本,为Vue项目的创建和调试提供了更加便利的方法。 下面介绍如何使用vue.config.js进行Vue项目配置。 1.创建vue.config.js文件 在项目的根目录中创建vue.config.js文件,并按照以下格式进行基本配置: ``` module.exports = { // 基本路径 publicPath: process.env.NODE_ENV === 'production' ? '/production-sub-path/' : '/', // 输出路径 outputDir: 'dist', // 配置devServer devServer: { port: 8888, // 端口号 proxy: { '/api': { target: 'http://api.example.com', changeOrigin: true, pathRewrite: { '^/api': '' } } } } } ``` 2.配置Webpack 可以使用chainWebpack或configureWebpack来配置Webpack。chainWebpack可以修改Webpack的配置,而configureWebpack可以覆盖Webpack的配置。 ``` module.exports = { chainWebpack: config => { // 移除prefetch插件 config.plugins.delete('prefetch') }, configureWebpack: { // 修改输出文件名 output: { filename: '[name].[hash:8].js', chunkFilename: '[name].[hash:8].js' } } } ``` 3.配置Babel 通过babel配置可以添加新的babel插件和babel预设。 ``` module.exports = { transpileDependencies: [ 'vuetify' ], babel: { plugins: ['@babel/plugin-proposal-optional-chaining'], presets: [ '@babel/preset-env' ] } } ``` 4.配置ESLint 可以使用lintOnSave配置来开启/关闭ESLint。也可以修改ESLint的规则。 ``` module.exports = { lintOnSave: process.env.NODE_ENV !== 'production', rules: { 'vue/no-unused-components': 'off' } } ``` 5.反向代理 可以使用devServer.proxy来配置反向代理,解决前端接口跨域的问题。 ``` module.exports = { devServer: { proxy: { '/api': { target: 'http://api.example.com', changeOrigin: true, pathRewrite: { '^/api': '' } } } } } ``` 以上是关于vue-cli5配置vue.config.js的介绍。Vue CLI是Vue项目开发的重要工具,其强大的开发环境能够大幅度提高开发效率。透过配置vue.config.js,我们可以更好地调整Vue的项目配置以满足项目需求。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值