天波h5前端应用
Du kan inte välja fler än 25 ämnen Ämnen måste starta med en bokstav eller siffra, kan innehålla bindestreck ('-') och vara max 35 tecken långa.

85 lines
3.5KB

  1. /*
  2. * @Author: your name
  3. * @Date: 2020-04-15 10:00:32
  4. * @LastEditTime: 2023-02-26 09:19:56
  5. * @LastEditors: JinxChen
  6. * @Description: In User Settings Edit
  7. * @FilePath: \TelpoH5FrontendWeb\vue.config.js
  8. */
  9. const autoprefixer = require('autoprefixer'); // 根据屏幕动态改变根元素font-size
  10. const pxtorem = require('postcss-pxtorem'); // 把代码中px转为rem
  11. // const CompressionWebpackPlugin = require('compress-webpack-plugin');
  12. const CompressionPlugin = require("compression-webpack-plugin");
  13. const port = process.env.port || process.env.npm_config_port || 8080;/* 7788 */ // dev port
  14. module.exports = {
  15. // 注意: 多页面配置 不再使用全路径,单页面时可以开启
  16. publicPath: './',
  17. outputDir: 'dist',
  18. // assetsDir: 'static',
  19. // lintOnSave: process.env.NODE_ENV === 'development',
  20. productionSourceMap: false,
  21. devServer: {
  22. port: port,
  23. open: true,
  24. overlay: {
  25. warnings: false,
  26. errors: true
  27. },
  28. /* proxy: proxy, */
  29. /* host: '192.168.3.186', */// 原为: hotst: 'localhost', 可在同一ip局域网下通过网址生成二维码的方式调试h5, 注意:调试完毕请注释
  30. //disableHostCheck: true, //真机调试开启
  31. },
  32. css: {
  33. // 将组件内部的css提取到一个单独的css文件(只用在生产环境)
  34. // 也可以是传递给 extract-text-webpack-plugin 的选项对象
  35. extract: true,
  36. // 允许生成 CSS source maps?
  37. sourceMap: true,
  38. // pass custom options to pre-processor loaders. e.g. to pass options to // sass-loader, use { sass: { ... } }
  39. loaderOptions: {
  40. sass: {
  41. // 比如你可以这样向所有 Sass/Less 样式传入共享的全局变量
  42. prependData: `@import "@/assets/css/public.scss";`
  43. },
  44. postcss: {
  45. plugins: [
  46. autoprefixer({
  47. overrideBrowserslist: ["last 15 versions"]
  48. }),
  49. pxtorem({
  50. rootValue: 37.5, // 换算的基数
  51. /* rootValue: 75, */ // 换算的基数
  52. selectorBlackList: ["van"],
  53. propList: ["*"],
  54. //exclude: /node_modules/
  55. })
  56. ]
  57. }
  58. },
  59. // Enable CSS modules for all css / pre-processor files. // This option does not affect *.vue files.
  60. requireModuleExtension: true
  61. },
  62. configureWebpack: {
  63. externals: {
  64. 'AMap': 'AMap'
  65. }
  66. },
  67. chainWebpack: config => {
  68. // 该配置用来配置打包生成的文件是否带hash值后缀,该值默认为true,
  69. // 在模式为production的时候,打包出的js和css文件会自动添加hash值后缀。
  70. // 但是在当前模式为development的时候,就算该值为true,打包出的js文件不带hash值(css文件仍然受该值控制)。
  71. // 这个时候我们该怎么给打包的文件增加hash值呢:
  72. if (process.env.NODE_ENV !== 'production')
  73. config.output.filename('js/[name].[hash].js').chunkFilename('js/[name].[hash].js').end();
  74. // 如果filenameHashing设置为了false,可以通过这段代码给打包出的css文件增加hash值
  75. // config.plugin('extract-css').tap(args => [{
  76. // filename: 'css/[name].[hash].css',
  77. // chunkFilename: 'css/[name].[hash].css'
  78. // }])
  79. }
  80. };