代码拉取完成,页面将自动刷新
import { globSync } from 'glob'
import babel from '@rollup/plugin-babel'
import resolve from '@rollup/plugin-node-resolve'
import commonjs from '@rollup/plugin-commonjs'
import { terser } from 'rollup-plugin-terser'
import inject from 'rollup-plugin-inject'
import multiEntry from '@rollup/plugin-multi-entry'
import vue from 'rollup-plugin-vue'
let found
const env = process.argv.find(flag => {
if (found) {
return true
}
found = flag === '--config-env'
return false
})
const production = env === 'PRODUCTION'
const external = ['jquery']
const globals = {
jquery: 'jQuery'
}
const config = []
const plugins = [
inject({
include: '**/*.js',
exclude: 'node_modules/**',
$: 'jquery'
}),
resolve(),
commonjs(),
babel({
babelHelpers: 'bundled',
exclude: 'node_modules/**'
})
]
if (production) {
plugins.push(terser({
output: {
comments () {
return false
}
}
}))
}
let out = 'dist/multiple-select.js'
if (production) {
out = out.replace(/.js$/, '.min.js')
}
config.push({
input: 'src/multiple-select.js',
output: {
name: 'MultipleSelect',
file: out,
format: 'umd',
globals
},
external,
plugins
})
out = 'dist/multiple-select-es.js'
if (production) {
out = out.replace(/.js$/, '.min.js')
}
config.push({
input: 'src/multiple-select.js',
output: {
file: out,
format: 'esm'
},
plugins: plugins.slice(1)
})
out = 'dist/multiple-select-locale-all.js'
if (production) {
out = out.replace(/.js$/, '.min.js')
}
config.push({
input: 'src/locale/**/*.js',
output: {
name: 'MultipleSelect',
file: out,
format: 'umd',
globals
},
external,
plugins: [
multiEntry(),
...plugins
]
})
const files = globSync('src/locale/**/*.js')
for (const file of files) {
out = `dist/${file.replace('src/', '')}`
if (production) {
out = out.replace(/.js$/, '.min.js')
}
config.push({
input: file,
output: {
name: 'MultipleSelect',
file: out,
format: 'umd',
globals
},
external,
plugins
})
}
out = 'dist/multiple-select-vue.js'
if (production) {
out = out.replace(/.js$/, '.min.js')
}
config.push({
input: 'src/vue/index.js',
output: {
name: 'MultipleSelect',
file: out,
format: 'umd'
},
plugins: [
vue(),
...plugins
]
})
out = 'dist/multiple-select-vue-es.js'
if (production) {
out = out.replace(/.js$/, '.min.js')
}
config.push({
input: 'src/vue/MultipleSelect.vue',
output: {
name: 'MultipleSelect',
file: out,
format: 'esm'
},
plugins: [
vue(),
...plugins
]
})
export default config
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。