vue.config.js 2.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  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. headers: {
  17. "Cross-Origin-Opener-Policy": "same-origin",
  18. "Cross-Origin-Embedder-Policy": "require-corp",
  19. },
  20. open: false,
  21. proxy:{},
  22. },
  23. chainWebpack: config => {
  24. config.plugin('html')
  25. .tap(args => {
  26. args[0].title = "";//定义 HTML 文档的标题
  27. args[0].template = 'public/index.html';// webpack模板的地址-相对或绝对路径
  28. return args
  29. }).end();
  30. config.module
  31. .rule('scss')
  32. .test(/\.scss$/)
  33. .oneOf('vue')
  34. .use('px2rem-loader')
  35. .loader('px2rem-loader')
  36. .before('postcss-loader') // this makes it work.
  37. .options({
  38. remUnit: 75, //根据视觉稿,rem为px的⼗分之⼀,750px 75rem
  39. remPrecision: 4 //保留8位⼩数
  40. }).end();
  41. config.module
  42. .rule('xml')
  43. .test(/\.xml$/)
  44. .use('file-loader')
  45. .loader('file-loader')
  46. .options({
  47. esModule: false
  48. })
  49. .end()
  50. config.module
  51. .rule('swf')
  52. .test(/\.swf/)
  53. .use('file-loader')
  54. .loader('file-loader')
  55. .options({
  56. esModule: false
  57. })
  58. .end()
  59. }
  60. }