vue.config.js 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. const {
  2. defineConfig
  3. } = require('@vue/cli-service')
  4. module.exports = {
  5. transpileDependencies: true,
  6. runtimeCompiler: true, //是否使用包含运行时编译器的 Vue 构建版本。
  7. lintOnSave: true, //是否在开发环境下通过 eslint-loader 在每次保存时 lint 代码
  8. productionSourceMap: false, //如果你不需要生产环境的 source map,可以将其设置为 false 以加速生产环境构建。
  9. // 注意,一旦开启则意味着启动同源策略检查,浏览器会启动CORS
  10. // crossorigin: 'anonymous', //设置生成的 HTML 中 <link rel="stylesheet"> 和 <script> 标签的 crossorigin 属性。
  11. publicPath: process.env.NODE_ENV !== 'development' ? './' : '/', //打包发布时的目录
  12. outputDir: 'webgl', //生产环境构建文件的目录-打包时才有意义
  13. assetsDir: 'static', //放置生成的静态资源 (js、css、img、fonts) 的 (相对于 outputDir 的) 目录。-打包时才有意义
  14. indexPath: 'index.html', //指定生成的 index.html 的输出路径 (相对于 outputDir)。也可以是一个绝对路径。-打包时才有意义
  15. devServer: {
  16. open: true,
  17. proxy: {
  18. '/api': {
  19. target: "https://api.replicate.com/v1/", // 代理地址,这里设置的地址会代替axios中设置的baseURL
  20. changeOrigin: true, // 如果接口跨域,需要进行这个参数配置
  21. pathRewrite: {
  22. '^/api': ''
  23. }
  24. },
  25. }
  26. },
  27. chainWebpack: config => {
  28. config.plugin('html')
  29. .tap(args => {
  30. args[0].title = "";//定义 HTML 文档的标题
  31. args[0].template = 'public/index.html';// webpack模板的地址-相对或绝对路径
  32. return args
  33. }).end();
  34. config.module
  35. .rule('scss')
  36. .test(/\.scss$/)
  37. .oneOf('vue')
  38. .use('px2rem-loader')
  39. .loader('px2rem-loader')
  40. .before('postcss-loader') // this makes it work.
  41. .options({
  42. remUnit: 75, //根据视觉稿,rem为px的⼗分之⼀,750px 75rem
  43. remPrecision: 4 //保留8位⼩数
  44. }).end();
  45. config.module
  46. .rule('xml')
  47. .test(/\.xml$/)
  48. .use('file-loader')
  49. .loader('file-loader')
  50. .options({
  51. esModule: false
  52. })
  53. .end()
  54. config.module
  55. .rule('swf')
  56. .test(/\.swf/)
  57. .use('file-loader')
  58. .loader('file-loader')
  59. .options({
  60. esModule: false
  61. })
  62. .end()
  63. }
  64. }