一个支持less+less-auto-prefix的vue.config.js文件

一个支持less+less-auto-prefix的vue.config.js文件

const path = require('path')
// const fs = require('fs')

const LessPluginAutoPrefix = require('less-plugin-autoprefix')
const autoprefixPlugin = new LessPluginAutoPrefix({ browsers: ['last 2 versions'] })

const resolve = dir => {
    return path.join(__dirname, dir)
}

// 项目部署基础
// 默认情况下,我们假设你的应用将被部署在域的根目录下,
// 例如:https://www.my-app.com/
// 默认:'/'
// 如果您的应用程序部署在子路径中,则需要在这指定子路径
// 例如:https://www.foobar.com/my-app/
// 需要将它改为'/my-app/'
// iview-admin线上演示打包路径: https://file.iviewui.com/admin-dist/
const publicPath = process.env.NODE_ENV === 'production' ? '/' : '/'

const _resolvePath = function (_path) {
    return path.join(__dirname, _path)
}

module.exports = {
    // Project deployment base
    // By default we assume your app will be deployed at the root of a domain,
    // e.g. https://www.my-app.com/
    // If your app is deployed at a sub-path, you will need to specify that
    // sub-path here. For example, if your app is deployed at
    // https://www.foobar.com/my-app/
    // then change this to '/my-app/'
    publicPath,
    // tweak internal webpack configuration.
    // see https://github.com/vuejs/vue-cli/blob/dev/docs/webpack.md
    // 如果你不需要使用eslint,把lintOnSave设为false即可
    lintOnSave: true,

    chainWebpack: config => {
        config.resolve.alias
            .set('@', resolve('src')) // key,value自行定义,比如.set('@@', resolve('src/components'))
            .set('src', resolve('src')) // key,value自行定义,比如.set('@@', resolve('src/components'))
            .set('_c', resolve('src/components'))

        // fs.writeFile("webpackchian.config.js", "export default " + config.toString(), function(err){})
    },
    // 打包时不生成.map文件
    productionSourceMap: false,
    // 这里写你调用接口的基础路径,来解决跨域,如果设置了代理,那你本地开发环境的axios的baseUrl要写为 '' ,即空字符串
    // devServer: {
    //   proxy: 'localhost:3000'
    // }

    css: {
        loaderOptions: {
            less: {
                plugins: [autoprefixPlugin],
                javascriptEnabled: true,
                paths: [
                    _resolvePath('./src/styles'),
                    _resolvePath('')
                ]
            }
        }
    }
}

你可能感兴趣的:(一个支持less+less-auto-prefix的vue.config.js文件)