rollup.config.app.js 2.7 KB
Newer Older
fxy060608's avatar
fxy060608 已提交
1 2
const path = require('path')
const alias = require('rollup-plugin-alias')
fxy060608's avatar
fxy060608 已提交
3
const replace = require('rollup-plugin-replace')
fxy060608's avatar
fxy060608 已提交
4
const nodeResolve = require('rollup-plugin-node-resolve')
fxy060608's avatar
fxy060608 已提交
5
const commonjs = require('rollup-plugin-commonjs')
fxy060608's avatar
fxy060608 已提交
6
const requireContext = require('../lib/rollup-plugin-require-context')
fxy060608's avatar
fxy060608 已提交
7

fxy060608's avatar
fxy060608 已提交
8
let input = 'src/platforms/app-plus/service/framework/create-instance-context.js'
fxy060608's avatar
fxy060608 已提交
9 10 11 12 13 14

const output = {
  file: 'packages/uni-app-plus-nvue/dist/index.js',
  format: 'es'
}

fxy060608's avatar
fxy060608 已提交
15 16
const external = []

fxy060608's avatar
init v3  
fxy060608 已提交
17 18 19 20 21 22 23
// if (process.env.UNI_PLATFORM === 'app-plus-nvue') {
//   external.push('vue')
//   output.globals = {
//     vue: 'Vue'
//   }
// }

fxy060608's avatar
fxy060608 已提交
24
if (process.env.UNI_SERVICE === 'legacy') {
fxy060608's avatar
fxy060608 已提交
25
  input = 'src/platforms/app-plus-nvue/services/index.legacy.js'
fxy060608's avatar
fxy060608 已提交
26
  output.file = 'packages/uni-app-plus-nvue/dist/index.legacy.js'
fxy060608's avatar
fxy060608 已提交
27 28
} else {
  input = 'src/platforms/app-plus/service/index.js'
fxy060608's avatar
init v3  
fxy060608 已提交
29 30 31 32 33
  if (process.env.UNI_PLATFORM === 'app-plus') {
    output.file = `packages/uni-app-plus/dist/index.v3.js`
  } else {
    output.file = `packages/uni-app-plus-nvue/dist/index.js`
  }
fxy060608's avatar
fxy060608 已提交
34 35
  output.format = 'iife'
  output.name = 'serviceContext'
fxy060608's avatar
fxy060608 已提交
36
  output.banner =
fxy060608's avatar
fxy060608 已提交
37
    `export function createServiceContext(Vue, weex, plus, UniServiceJSBridge,instanceContext){
fxy060608's avatar
fxy060608 已提交
38
var localStorage = plus.storage
fxy060608's avatar
fxy060608 已提交
39
var setTimeout = instanceContext.setTimeout
fxy060608's avatar
init v3  
fxy060608 已提交
40 41
var clearTimeout = instanceContext.clearTimeout
var setInterval = instanceContext.setInterval
fxy060608's avatar
fxy060608 已提交
42 43 44
var clearInterval = instanceContext.clearInterval
var __uniConfig = instanceContext.__uniConfig
var __uniRoutes = instanceContext.__uniRoutes
fxy060608's avatar
fxy060608 已提交
45 46 47 48 49 50
`
  output.footer =
    `
var uni = serviceContext.uni
var getApp = serviceContext.getApp
var getCurrentPages = serviceContext.getCurrentPages
fxy060608's avatar
fxy060608 已提交
51 52 53

var __definePage = serviceContext.__definePage
var __registerPage = serviceContext.__registerPage
fxy060608's avatar
fxy060608 已提交
54 55 56


return serviceContext \n}
fxy060608's avatar
fxy060608 已提交
57
`
fxy060608's avatar
fxy060608 已提交
58
}
fxy060608's avatar
fxy060608 已提交
59

fxy060608's avatar
fxy060608 已提交
60 61
const resolve = dir => path.resolve(__dirname, '../', dir)

fxy060608's avatar
fxy060608 已提交
62
module.exports = {
fxy060608's avatar
fxy060608 已提交
63 64
  input,
  output,
fxy060608's avatar
init v3  
fxy060608 已提交
65 66 67 68 69 70 71 72 73 74 75 76
  plugins: [
    alias({
      // 'vue': resolve('packages/uni-app-plus/dist/service.runtime.esm.js'),
      'uni-core': resolve('src/core'),
      'uni-platform': resolve('src/platforms/' + process.env.UNI_PLATFORM),
      'uni-platforms': resolve('src/platforms'),
      'uni-shared': resolve('src/shared/index.js'),
      'uni-helpers': resolve('src/core/helpers'),
      'uni-invoke-api': resolve('src/platforms/app-plus/service/api'),
      'uni-service-api': resolve('src/core/service/platform-api'),
      'uni-api-protocol': resolve('src/core/helpers/protocol')
    }),
fxy060608's avatar
fxy060608 已提交
77
    nodeResolve(),
fxy060608's avatar
fxy060608 已提交
78
    commonjs(),
fxy060608's avatar
fxy060608 已提交
79
    requireContext(),
fxy060608's avatar
fxy060608 已提交
80 81
    replace({
      __GLOBAL__: 'getGlobalUni()',
fxy060608's avatar
init v3  
fxy060608 已提交
82
      __PLATFORM__: JSON.stringify(process.env.UNI_PLATFORM),
fxy060608's avatar
fxy060608 已提交
83 84
      __PLATFORM_TITLE__: 'app-plus-nvue'
    })
fxy060608's avatar
fxy060608 已提交
85
  ],
fxy060608's avatar
fxy060608 已提交
86
  external
fxy060608's avatar
fxy060608 已提交
87
}