vue.config.js 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  1. // vue.config.js
  2. module.exports = {
  3. productionSourceMap: process.env.NODE_ENV != "production",
  4. publicPath: "./",
  5. css: {
  6. loaderOptions: {
  7. // 给 sass-loader 传递选项
  8. // prependData: {
  9. // // @/ 是 src/ 的别名
  10. // // 所以这里假设你有 `src/variables.sass` 这个文件
  11. // // 注意:在 sass-loader v8 中,这个选项名是 "prependData"
  12. // additionalData: `@import "~@/styles/variables.sass"`,
  13. // },
  14. // 默认情况下 `sass` 选项会同时对 `sass` 和 `scss` 语法同时生效
  15. // 因为 `scss` 语法在内部也是由 sass-loader 处理的
  16. // 但是在配置 `prependData` 选项的时候
  17. // `scss` 语法会要求语句结尾必须有分号,`sass` 则要求必须没有分号
  18. // 在这种情况下,我们可以使用 `scss` 选项,对 `scss` 语法进行单独配置
  19. scss: {
  20. additionalData: `@import "~@/styles/variables.scss";@import "~@/sites/assets/styles/variables.scss";`,
  21. },
  22. },
  23. },
  24. pages: {
  25. doc: {
  26. entry: "src/sites/doc/main.ts",
  27. template: "src/sites/doc/index.html",
  28. filename: "index.html",
  29. // template 中的 title 标签需要是 <title><%= htmlWebpackPlugin.options.title %></title>
  30. title: "NutUI",
  31. // 在这个页面中包含的块,默认情况下会包含
  32. // 提取出来的通用 chunk 和 vendor chunk。
  33. chunks: ["chunk-vendors", "chunk-common", "doc"],
  34. },
  35. mobile: {
  36. entry: "src/sites/mobile/main.ts",
  37. template: "src/sites/mobile/index.html",
  38. filename: "demo.html",
  39. // template 中的 title 标签需要是 <title><%= htmlWebpackPlugin.options.title %></title>
  40. title: "NutUI",
  41. // 在这个页面中包含的块,默认情况下会包含
  42. // 提取出来的通用 chunk 和 vendor chunk。
  43. chunks: ["chunk-vendors", "chunk-common", "mobile"],
  44. },
  45. },
  46. configureWebpack: {
  47. optimization: {
  48. minimize: process.env.NODE_ENV === "production",
  49. splitChunks: {
  50. automaticNameDelimiter: "_",
  51. },
  52. },
  53. },
  54. chainWebpack: (config) => {
  55. if (process.env.NODE_ENV === "production") {
  56. }
  57. },
  58. };