vue.config.old.js 3.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. // vue.config.js
  2. const path = require('path');
  3. //target: 'http://localhost:7004',
  4. module.exports = {
  5. productionSourceMap: process.env.NODE_ENV != 'production',
  6. publicPath: './',
  7. devServer: {
  8. host: '0.0.0.0',
  9. disableHostCheck: true,
  10. open: true,
  11. proxy: {
  12. '/devServer': {
  13. target: 'http://nutui-server.jd.com',
  14. changeOrigin: true,
  15. pathRewrite: {
  16. '^/devServer': ''
  17. }
  18. }
  19. }
  20. },
  21. css: {
  22. loaderOptions: {
  23. // 给 sass-loader 传递选项
  24. // prependData: {
  25. // // @/ 是 src/ 的别名
  26. // // 所以这里假设你有 `src/variables.sass` 这个文件
  27. // // 注意:在 sass-loader v8 中,这个选项名是 "prependData"
  28. // additionalData: `@import "~@/styles/variables.sass"`,
  29. // },
  30. // 默认情况下 `sass` 选项会同时对 `sass` 和 `scss` 语法同时生效
  31. // 因为 `scss` 语法在内部也是由 sass-loader 处理的
  32. // 但是在配置 `prependData` 选项的时候
  33. // `scss` 语法会要求语句结尾必须有分号,`sass` 则要求必须没有分号
  34. // 在这种情况下,我们可以使用 `scss` 选项,对 `scss` 语法进行单独配置
  35. scss: {
  36. additionalData: `@import "~@/packages/styles/variables.scss";@import "~@/sites/assets/styles/variables.scss";`
  37. },
  38. postcss: {
  39. plugins: [
  40. require('autoprefixer')({
  41. // 配置使用 autoprefixer
  42. // browsers: ['last 20 versions'],
  43. overrideBrowserslist: ['last 20 versions'] // 记得这里要把 browsers 改为 overrideBrowserslist,autoprefixer 新版本的写法有变
  44. })
  45. ]
  46. }
  47. }
  48. },
  49. pages: {
  50. doc: {
  51. entry: 'src/sites/doc/main.ts',
  52. template: 'src/sites/doc/index.html',
  53. filename: 'index.html',
  54. // template 中的 title 标签需要是 <title><%= htmlWebpackPlugin.options.title %></title>
  55. title: 'NutUI',
  56. // 在这个页面中包含的块,默认情况下会包含
  57. // 提取出来的通用 chunk 和 vendor chunk。
  58. chunks: ['chunk-vendors', 'chunk-common', 'doc']
  59. },
  60. mobile: {
  61. entry: 'src/sites/mobile/main.ts',
  62. template: 'src/sites/mobile/index.html',
  63. filename: 'demo.html',
  64. // template 中的 title 标签需要是 <title><%= htmlWebpackPlugin.options.title %></title>
  65. title: 'NutUI',
  66. // 在这个页面中包含的块,默认情况下会包含
  67. // 提取出来的通用 chunk 和 vendor chunk。
  68. chunks: ['chunk-vendors', 'chunk-common', 'mobile']
  69. }
  70. },
  71. configureWebpack: {
  72. optimization: {
  73. minimize: process.env.NODE_ENV === 'production',
  74. splitChunks: {
  75. automaticNameDelimiter: '_'
  76. }
  77. }
  78. },
  79. chainWebpack: config => {
  80. config.module
  81. .rule('md-vue')
  82. .test(/\.md$/)
  83. .use('vue-loader')
  84. .loader('vue-loader')
  85. .end()
  86. .use(path.resolve(__dirname, './loader/md-vue/index.js'))
  87. .loader(path.resolve(__dirname, './loader/md-vue/index.js'))
  88. .end();
  89. }
  90. };