56 lines
1.4 KiB
JavaScript
56 lines
1.4 KiB
JavaScript
const fileLoader = require('./file-loader.js')
|
||
|
||
const defaultOptions = {
|
||
limit: -1,
|
||
fallback: fileLoader
|
||
}
|
||
|
||
const inlineLimit =
|
||
process.env.UNI_PLATFORM === 'mp-weixin' ||
|
||
process.env.UNI_PLATFORM === 'mp-qq' ||
|
||
process.env.UNI_PLATFORM === 'mp-toutiao' ||
|
||
process.env.UNI_PLATFORM === 'mp-kuaishou' ||
|
||
process.env.UNI_PLATFORM === 'mp-lark' ||
|
||
process.env.UNI_PLATFORM === 'mp-jd' ||
|
||
process.env.UNI_PLATFORM === 'mp-xhs' ||
|
||
process.env.UNI_PLATFORM === 'app-plus' // v2需要base64,v3需要rewriteUrl
|
||
|
||
// mp-weixin,mp-qq,app-plus 非v3(即:需要base64的平台)
|
||
// 将/static/logo.png转换为~@/static/logo.png
|
||
// @import,src,background,background-image
|
||
|
||
const rewriteUrl = inlineLimit ? require('postcss-urlrewrite')({
|
||
imports: true,
|
||
properties: ['src', 'background', 'background-image'],
|
||
rules: [{
|
||
from: /^@\//,
|
||
to: '~@/'
|
||
}, {
|
||
from: /^\/([^/])/,
|
||
to: '~@/$1'
|
||
}]
|
||
}) : () => {}
|
||
|
||
module.exports = {
|
||
loader: 'url-loader',
|
||
options () {
|
||
if (process.env.UNI_PLATFORM === 'h5') {
|
||
// h5平台,不对 url-loader 作调整,默认limit:4096,也不修改file-loader输出路径(已做处理)
|
||
return {
|
||
...defaultOptions,
|
||
limit: 4096
|
||
}
|
||
}
|
||
if (inlineLimit) {
|
||
return {
|
||
...defaultOptions,
|
||
limit: process.env.UNI_USING_V3 ? -1 : 40960 // (主要用于background-image)
|
||
}
|
||
}
|
||
return {
|
||
...defaultOptions
|
||
}
|
||
},
|
||
rewriteUrl
|
||
}
|