index.js 1.3 KB
Newer Older
fxy060608's avatar
fxy060608 已提交
1 2 3 4 5 6 7 8
const fs = require('fs')
const path = require('path')

process.env.UNI_CLI_CONTEXT = path.resolve(__dirname, '../../../')

process.env.UNI_HBUILDERX_PLUGINS = process.env.UNI_HBUILDERX_PLUGINS || path.resolve(__dirname, '../../../../')

require('./module-alias')
fxy060608's avatar
fxy060608 已提交
9

fxy060608's avatar
fxy060608 已提交
10 11 12 13 14
module.exports = (api, options) => { // 仅处理 app-plus 相关逻辑
  if (process.env.UNI_PLATFORM !== 'app-plus') {
    return
  }

fxy060608's avatar
fxy060608 已提交
15 16 17 18 19 20 21 22 23 24 25 26 27 28 29
  if (
    (
      !process.env.UNI_USING_V3 &&
      !process.env.UNI_USING_NATIVE &&
      !process.env.UNI_USING_V3_NATIVE
    ) ||
    (
      process.env.UNI_USING_NATIVE &&
      !process.env.UNI_USING_NVUE_COMPILER
    )
  ) {
    if (!fs.existsSync(path.resolve(process.env.UNI_HBUILDERX_PLUGINS, 'weapp-tools/lib/index.js'))) {
      console.error('请使用 HBuilderX 编译运行至 app-plus 平台')
      process.exit(0)
    }
fxy060608's avatar
fxy060608 已提交
30 31 32 33 34 35 36 37 38
  }

  const plugins = []

  const output = {}
  const WebpackAppPlusPlugin = require('./packages/webpack-app-plus-plugin')

  plugins.push(new WebpackAppPlusPlugin())

fxy060608's avatar
fxy060608 已提交
39 40 41 42
  const {
    devtoolModuleFilenameTemplate
  } = require('./util')

fxy060608's avatar
fxy060608 已提交
43 44 45 46 47 48 49 50 51 52
  // sourcemap 输出相对路径
  output.devtoolModuleFilenameTemplate = devtoolModuleFilenameTemplate

  api.configureWebpack(webpackConfig => {
    return {
      output,
      plugins
    }
  })
}