vue.config.js 3.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. // vue.config.js 配置说明
  2. //官方vue.config.js 参考文档 https://cli.vuejs.org/zh/config/#css-loaderoptions
  3. const MiniCssExtractPlugin = require('mini-css-extract-plugin');
  4. module.exports = {
  5. publicPath: process.env.env_config === 'prod' ? 'https://h5-cms-vue.ijolijoli.com/dist' :
  6. process.env.env_config === 'test' ? '/vapps/calory/' : '/dist/',
  7. // 设置跨域
  8. crossorigin: 'anonymous',
  9. /**
  10. * 如果你不需要生产环境的 source map,可以将其设置为 false 以加速生产环境构建。
  11. * map文件的作用在于:项目打包后,代码都是经过压缩加密的,如果运行时报错,输出的错误信息无法准确得知是哪里的代码报错。
  12. * 有了map就可以像未加密的代码一样,准确的输出是哪一行哪一列有错。
  13. * */
  14. productionSourceMap: false,
  15. transpileDependencies: ['swiper', 'dom7'],
  16. // 它支持webPack-dev-server的所有选项
  17. devServer: {
  18. host: "0.0.0.0",
  19. port: 8083, // 端口号
  20. https: false, // https:{type:Boolean}
  21. open: true, //配置自动启动浏览器
  22. proxy: '' // 配置跨域处理
  23. },
  24. configureWebpack: {
  25. externals: {
  26. 'axios': "axios"
  27. }
  28. // 这是七牛找不到资源时的紧急处理方法,通过修改hash位数修改编译后的资源文件名
  29. // output: {
  30. // filename: `js/[name].[hash:6].js`,
  31. // chunkFilename: `js/[name].[hash:6].js`
  32. // },
  33. // plugins: [
  34. // new MiniCssExtractPlugin({
  35. // filename: `css/[name].[hash:6].css`,
  36. // chunkFilename: `css/[name].[hash:6].css`
  37. // })
  38. // ]
  39. },
  40. css: {
  41. // loaderOptions: {
  42. // postcss: {
  43. // plugins: [
  44. // require('postcss-pxtorem')({
  45. // // TODO:这个值该怎么算
  46. // rootValue: 32, //结果为:设计稿元素尺寸/16,比如元素宽320px,最终页面会换算成 20rem
  47. // selectorBlackList: ['van'], // 忽略转换正则匹配项
  48. // propList: ['*'], //要转换的匹配项
  49. // })
  50. // ]
  51. // }
  52. // }
  53. loaderOptions: {
  54. postcss: {
  55. plugins: [
  56. require("postcss-px-to-viewport")({
  57. unitToConvert: "px", // 把什么单位转换成vw
  58. viewportWidth: 1000, // 视口宽度,设计稿宽度
  59. viewportHeight: 600, // 视口高度,设计稿高度
  60. unitPrecision: 5, // 转换成vw单位的小数点后的保留位数
  61. propList: ["*"], // 属性列表,表示你要把哪些css属性的px转换成vw
  62. viewportUnit: "vw", // 使用的单位,目前可选单位有vw,vh。
  63. fontViewportUnit: "vw", // 字体使用的单位
  64. selectorBlackList: ['van', 'el-'], // 匹配不被转换为vw的选择器
  65. minPixelValue: 1,
  66. mediaQuery: false,
  67. replace: true, // 是否直接更换属性值,而不添加备用属性
  68. exclude: /(\/|\\)(node_modules)(\/|\\)/,
  69. })
  70. ]
  71. }
  72. }
  73. }
  74. }