jinbi-utils
Version:
这是一个实用工具库,包含了多个常用的功能模块。以下是各个模块的详细说明:
72 lines (67 loc) • 1.5 kB
JavaScript
import babel from 'rollup-plugin-babel';
import { eslint } from "rollup-plugin-eslint";
import typescript from 'rollup-plugin-typescript2';
import cleaner from 'rollup-plugin-cleaner';
import { terser } from "rollup-plugin-terser";
import serve from 'rollup-plugin-serve';
import pkg from './package.json';
// 端口
const PORT = 3001;
// 是否是生产
const IS_PROD = process.env.NODE_ENV === 'production';
const formats = ['umd', 'esm'];
const output = formats.map((format) => ({
file: `dist/index.${format}.js`,
format,
name: pkg.name,
globals: {
'axios': 'axios'
}
}));
// 生成模式生成压缩文件
if (IS_PROD) {
formats.forEach((format) => {
output.push({
file: `dist/index.${format}.min.js`,
format,
name: pkg.name,
globals: {
'axios': 'axios'
},
plugins: [terser()],
});
});
}
export default {
input: 'src/index.ts',
output,
external: ['fsevents', 'axios'],
plugins: [
eslint({
fix: true,
exclude: 'node_modules/**'
}),
// 使用 tsconfig.json 中定义 的 declarationDir
typescript({
useTsconfigDeclarationDir: true,
}),
babel({
exclude: 'node_modules/**',
}),
cleaner({
targets: [
'./dist/',
'./types/'
]
}),
!IS_PROD && (
serve({
open: false,
contentBase: ['dist', 'example'],
historyApiFallback: true,
host: 'localhost',
port: PORT,
})
),
],
};