mirror of
http://36.133.248.69:3088/admin/RentWeAppFront.git
synced 2026-03-08 18:02:25 +08:00
41 lines
1.1 KiB
JavaScript
41 lines
1.1 KiB
JavaScript
const fs = require('fs')
|
||
const path = require('path')
|
||
|
||
const glob = require('glob')
|
||
const loaderUtils = require('loader-utils')
|
||
|
||
const isWin = /^win/.test(process.platform)
|
||
const normalizePath = path => (isWin ? path.replace(/\\/g, '/') : path)
|
||
|
||
module.exports = function loader(source) {
|
||
const options = loaderUtils.getOptions(this)
|
||
const baseDir = options['base']
|
||
const extendsDir = options['extends']
|
||
|
||
const exportCode = []
|
||
const extendsFiles = []
|
||
// extends目录均导出
|
||
glob.sync('**/*.js', {
|
||
cwd: extendsDir
|
||
}).forEach(file => {
|
||
if (file === 'index.js') {
|
||
return
|
||
}
|
||
extendsFiles.push(file)
|
||
exportCode.push(`export * from 'uni-sub-platform-api/${normalizePath(file)}'`)
|
||
})
|
||
//base目录中有,extends无的导出
|
||
glob.sync('**/*.js', {
|
||
cwd: baseDir
|
||
}).forEach(file => {
|
||
if (file === 'index.js') {
|
||
return
|
||
}
|
||
if (!extendsFiles.includes(file)) {
|
||
exportCode.push(`export * from 'uni-platform-api/${normalizePath(file)}'`)
|
||
}
|
||
})
|
||
// console.log(exportCode.join('\n'))
|
||
return exportCode.join('\n')
|
||
}
|