const path = require('path') const sassImportor = function (url) { const reg = /^@\/styles\/(.*)/ return { file: reg.test(url) ? path.resolve(__dirname, '..', 'src/styles', url.match(reg)[1]) : url } } const config = { projectName: 'mini-chengjiao', date: '2019-5-7', designWidth: 750, deviceRatio: { '640': 2.34 / 2, '750': 1, '828': 1.81 / 2 }, sourceRoot: 'src', outputRoot: 'dist', plugins: { babel: { sourceMap: true, presets: [ ['env', { modules: false }] ], plugins: [ ['preval', ['transform-decorators-legacy']], 'transform-class-properties', 'transform-object-rest-spread' ] }, sass: { importer: sassImportor } }, alias: { '@/actions': path.resolve(__dirname, '..', 'src/actions'), '@/assets': path.resolve(__dirname, '..', 'src/assets'), '@/components': path.resolve(__dirname, '..', 'src/components'), '@/constants': path.resolve(__dirname, '..', 'src/constants'), '@/reducers': path.resolve(__dirname, '..', 'src/reducers'), '@/styles': path.resolve(__dirname, '..', 'src/styles'), '@/utils': path.resolve(__dirname, '..', 'src/utils'), '@/services': path.resolve(__dirname, '..', 'src/services'), '@/lib': path.resolve(__dirname, '..', 'src/lib'), }, copy: { patterns: [ { from: 'src/onlineSelling/assets/', to: 'dist/onlineSelling/assets/' }, { from: 'ext.json', to: 'dist/ext.json' } ], options: { } }, weapp: { module: { postcss: { autoprefixer: { enable: true, config: { browsers: [ 'last 3 versions', 'Android >= 4.1', 'ios >= 8' ] } }, pxtransform: { enable: true, config: { } }, url: { enable: true, config: { limit: 10240 // 设定转换尺寸上限 } }, cssModules: { enable: false, // 默认为 false,如需使用 css modules 功能,则设为 true config: { namingPattern: 'module', // 转换模式,取值为 global/module generateScopedName: '[name]__[local]___[hash:base64:5]' } } } } }, h5: { publicPath: '/', staticDirectory: 'static', module: { postcss: { autoprefixer: { enable: true, config: { browsers: [ 'last 3 versions', 'Android >= 4.1', 'ios >= 8' ] } }, cssModules: { enable: false, // 默认为 false,如需使用 css modules 功能,则设为 true config: { namingPattern: 'module', // 转换模式,取值为 global/module generateScopedName: '[name]__[local]___[hash:base64:5]' } } } } } } module.exports = function (merge) { if (process.env.NODE_ENV === 'development') { return merge({}, config, require('./dev')) } return merge({}, config, require('./prod')) }