megalo.config.js 2.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172
  1. const path = require('path');
  2. const fs = require('fs');
  3. module.exports = {
  4. // 构件生产模式时是否生成source map(仅在process.env.NODE_ENV === 'production' 时该选项生效)
  5. productionSourceMap: false,
  6. // 开启eslint格式化代码
  7. lintOnSave: true,
  8. configureWebpack: config => {
  9. // 你可以在这里粗放的修改webpack的配置并返回
  10. console.log('configureWebpack执行了');
  11. return config;
  12. },
  13. chainWebpack: chainConfig => {
  14. // 你可以在这里通过 https://github.com/neutrinojs/webpack-chain 来精细的修改webpack配置
  15. // console.log('chainWebpack执行了', chainConfig.toString())
  16. chainConfig.plugin('copy-webpack-plugin').tap(args => {
  17. args[0].push({
  18. context: path.resolve('src'),
  19. from: path.resolve('project.config.json'),
  20. to: path.resolve(`dist-${process.env.PLATFORM}/project.config.json`)
  21. });
  22. args[0].push({
  23. context: path.resolve('src'),
  24. from: path.resolve('src/native/vant'),
  25. to: path.resolve(`dist-${process.env.PLATFORM}/vant`)
  26. });
  27. return args;
  28. });
  29. chainConfig.module
  30. .rule('less')
  31. .test(/\.less$/)
  32. .use('style-resources-loader')
  33. .loader('style-resources-loader')
  34. .options({
  35. patterns: [
  36. path.resolve(__dirname, './src/styles/common.less'),
  37. path.resolve(__dirname, './src/styles/fonts.less')
  38. ]
  39. })
  40. .end();
  41. },
  42. // 原生小程序组件存放目录,默认为src/native
  43. // 如果你有多个平台的原生组件,你应当在此目录下再新建几个子文件夹,我们约定,子文件夹名和平台的名字一致:
  44. // 微信小程序组件则命名为 'wechat',支付宝为'alipay', 百度为 'swan'
  45. // 如果只有一个平台,则无需再新建子文件夹
  46. nativeDir: '/src/native',
  47. css: {
  48. loaderOptions: {
  49. css: {
  50. // https://github.com/webpack-contrib/css-loader#options
  51. },
  52. less: {
  53. // https://github.com/webpack-contrib/less-loader
  54. },
  55. sass: {
  56. // https://github.com/webpack-contrib/sass-loader
  57. },
  58. stylus: {
  59. // https://github.com/shama/stylus-loader
  60. },
  61. // https://github.com/megalojs/megalo-px2rpx-loader
  62. px2rpx: {
  63. rpxUnit: 0.5
  64. }
  65. }
  66. }
  67. };