提交 79616c53 编写于 作者: D DCloud_LXH

feat: generate sourcemap

上级 73817142
......@@ -45,9 +45,15 @@ export function buildOptions(
emptyOutDir()
}
}
const sourcemap =
process.env.SOURCEMAP === 'true'
? 'hidden'
: userConfig.build?.sourcemap
? 'inline'
: false
return {
// App 端目前仅提供 inline
sourcemap: userConfig.build?.sourcemap ? 'inline' : false,
sourcemap,
emptyOutDir: false, // 不清空输出目录,否则会影响 webpack 的输出
assetsInlineLimit: 0,
rollupOptions: {
......
......@@ -155,6 +155,13 @@ export function initEnv(
)
}
if (
(options as BuildOptions).sourcemap &&
process.env.NODE_ENV === 'production'
) {
process.env.SOURCEMAP = 'true'
}
initModulePaths()
console.log(M['compiling'])
......
......@@ -5,7 +5,7 @@ import {
resolveComponentsLibPath,
} from '@dcloudio/uni-cli-shared'
import { VitePluginUniResolvedOptions } from '..'
import { hasOwn } from '@vue/shared'
import { hasOwn, isArray } from '@vue/shared'
export function createBuild(
options: VitePluginUniResolvedOptions,
......@@ -15,6 +15,7 @@ export function createBuild(
dirs: [resolveComponentsLibPath()],
platform: process.env.UNI_PLATFORM,
})
const rollupOutputOption = config.build?.rollupOptions?.output
return {
cssTarget,
chunkSizeWarningLimit: 100000000,
......@@ -39,6 +40,13 @@ export function createBuild(
}
warn(warning)
},
output: {
sourcemapExcludeSources:
!isArray(rollupOutputOption) &&
rollupOutputOption?.sourcemapExcludeSources === false
? false
: process.env.SOURCEMAP === 'true',
},
},
}
}
......@@ -16,7 +16,7 @@ import {
import { createConfig } from './config'
import { createConfigResolved } from './configResolved'
import { uniCopyPlugin } from './plugins/copy'
// import { uniMovePlugin } from './plugins/move'
import { uniMovePlugin } from './plugins/move'
import {
initExtraPlugins,
initPluginUniOptions,
......@@ -162,21 +162,20 @@ export default function uniPlugin(
)
}
// let addSourceMapPlugin = false
// if (addSourceMapPlugin) {
// plugins.push(
// uniMovePlugin({
// apply: 'build',
// enforce: 'post',
// cwd: process.env.UNI_OUTPUT_DIR,
// pattern: '**/*.js.map',
// dest: path.resolve(
// process.env.UNI_OUTPUT_DIR,
// '../.s/' + process.env.UNI_PLATFORM
// ),
// })
// )
// }
if (process.env.SOURCEMAP === 'true') {
plugins.push(
uniMovePlugin({
apply: 'build',
enforce: 'post',
cwd: process.env.UNI_OUTPUT_DIR,
pattern: '**/*.js.map',
dest: path.resolve(
process.env.UNI_OUTPUT_DIR,
'../.sourcemap/' + process.env.UNI_PLATFORM
),
})
)
}
return plugins
}
......@@ -38,6 +38,7 @@ export function uniMovePlugin({
cwd,
})
.map((filename) => {
fs.removeSync(dest)
return fs.move(
path.resolve(cwd, filename),
path.resolve(dest, filename)
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册