vue-cli3.0配置baseUrl等

vue-cli3.0中,生产环境和开发环境的路径配置是不一样的。
想2.0那样配置,3.0中有

// vue.config.js
module.exports = {
  configureWebpack: config => {
    if (process.env.NODE_ENV === 'production') {
      // 为生产环境修改配置...
    } else {
      // 为开发环境修改配置...
    }
  }
}

原谅我很low,如果我想在里面配置baseUrl,assetsDir这些项,该怎么设置。我试过,
config.baseUrl = '*',会报错。

还有是,我在生产环境配置时,

baseUrl: '../',
    
    // 将构建好的文件输出到哪里
    outputDir: 'dist/resources',

    indexPath:'./templates/login.html',

    // 放置静态资源的地方 (js/css/img/font/...)
    assetsDir: './static',
    
    filenameHashing:false

指定文件夹,是服务器文件,里面有xml之类的其他文件,打包会把文件夹清空掉,有什么办法吗。这个已经解决,有个no-clean参数配置。
//还有一个问题,spring服务器,静态资源在static文件夹,但是访问的时候,路径里是不需要/static的,有什么办法动态配置吗。

最后一个问题,vue-cli3里面配置es6支持有点晕,比如我要用async语法,要怎么配置呢。

module.exports = {
  presets: ["@vue/app"]
};

这个意思是,webpack会自动检测语法,加载相应Polyfill.但是有的要手动去配置,哪些是要手动配置的啊

各位大神回答总结了下
1.多环境配置

// vue.config.js
module.exports = {
    // 这一层都是VueCLI3项目的配置,会被预先使用,并有必要会赋给webpack,但在这之前,Vue CLI 在一些其他地方也需要用到这个值,而这个值也能做到区分生产环境和开发环境。
    baseUrl: process.env.NODE_ENV === 'production'
        ? '/production-sub-path/'
        : '/',
    
    
    configureWebpack: config => {
        // 注意这一层里只能改webpack相关的配置,如果在这一层调整上层的配置可能会有非预期的结果,从你的需求来看你现在就想要在这一层里修改baseUrl这个参数?
        if (process.env.NODE_ENV === 'production') {
          // 为生产环境修改配置...
        } else {
          // 为开发环境修改配置...
        }
    }
}

2.如果要更细节的配置,可以

module.exports = {
  chainWebpack: config => {
  }
}

配置alias,load都可以
3.清空outputDir文件夹问题,可以在build命令加 no-clean参数。
4.es6支持,vue-cli3动态匹配,支持promise,async等语法,某些实例方法,要手动Polyfill去支持

阅读 11.9k
3 个回答

https://cli.vuejs.org/zh/conf...
官网的文档相信你已经看过了,里面的用法都是创造者提供给你的最简单的用法。

// vue.config.js
module.exports = {
    // 这一层都是VueCLI3项目的配置,会被预先使用,并有必要会赋给webpack,但在这之前,Vue CLI 在一些其他地方也需要用到这个值,而这个值也能做到区分生产环境和开发环境。
    baseUrl: process.env.NODE_ENV === 'production'
        ? '/production-sub-path/'
        : '/',
    
    
    configureWebpack: config => {
        // 注意这一层里只能改webpack相关的配置,如果在这一层调整上层的配置可能会有非预期的结果,从你的需求来看你现在就想要在这一层里修改baseUrl这个参数?
        if (process.env.NODE_ENV === 'production') {
          // 为生产环境修改配置...
        } else {
          // 为开发环境修改配置...
        }
    }
}

1 修改配置的报错是什么
2 用alias,打包的时候修改alias
3 这个配置已经支持es6,不需要再手动配置了

不要/static可以配置baseUrl
能够检测的如Promise等类,不能检测的是实例方法,如数组的.fill

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进