代码拉取完成,页面将自动刷新
import typescript from '@rollup/plugin-typescript';
import babel from '@rollup/plugin-babel';
import postcss from 'rollup-plugin-postcss'
import vue from 'rollup-plugin-vue'
import { uglify } from 'rollup-plugin-uglify';
import { name } from './package.json';
import * as fs from 'fs';
import * as path from 'path';
import clear from 'rollup-plugin-clear'
import image from '@rollup/plugin-image';
const inputDir = './packages';
const extensions = ['.ts', '.js', '.tsx', '.less']
const excludes = ['interface.ts', 'env.d.ts']
const getFileList = (basePath, dirPath) => {
let inputFiles = {};
let fileArr = fs.readdirSync(dirPath);
if (fileArr && fileArr.length) {
for (let i = 0; i < fileArr.length; i++) {
const fileName = fileArr[i];
const filePath = dirPath + '/' + fileName
const stat = fs.statSync(filePath);
if (stat.isDirectory()) {
const childFiles = getFileList(basePath, filePath);
if (childFiles) {
inputFiles = Object.assign(inputFiles, childFiles);
}
} else {
const extname = path.extname(filePath);
if (extensions.includes(extname) && !excludes.includes(fileName)) {
let inputName = filePath.substring(basePath.length, filePath.length - extname.length);
if (inputName.startsWith('/')) {
inputName = inputName.substring(1);
}
console.info(inputName)
inputFiles[inputName] = filePath;
}
}
}
}
return inputFiles;
}
const buildFiles = getFileList(inputDir, inputDir);
console.info('build files:', buildFiles)
export default {
input: buildFiles,
output: {
name,
dir: 'lib',
format: 'es',
globals: {
vue: 'Vue'
},
entryFileNames: '[name].js'
},
external: ['vue'],
plugins: [
vue({ preprocessStyles: true }),
postcss(),
typescript({
sourceMap: false
}),
babel({
babelHelpers: 'bundled',
extensions: extensions
}),
uglify(),
clear({
target: ['dist', 'lib']
}),
image()
]
};
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。