1 Star 5 Fork 2

cedar12/tezero

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
文件
克隆/下载
rollup.config.mjs 2.85 KB
一键复制 编辑 原始数据 按行查看 历史
cedar12 提交于 2025-06-11 19:17 +08:00 . build: 分包
/* import { terser } from 'rollup-plugin-terser';
import commonjs from 'rollup-plugin-commonjs';
import typescript from 'rollup-plugin-typescript2';
import clear from 'rollup-plugin-clear';
import resolve from 'rollup-plugin-node-resolve';
import nodePolyfills from 'rollup-plugin-node-polyfills';
import babelPlugin from 'rollup-plugin-babel';
import path from 'path';
const pkgCore = import.meta.resolve('./packages/core/package.json');
export default [{
input: 'packages/core/src/index.ts',
external: [
/^three\/src\//
],
output: [
{
file: path.basename(pkgCore.main),
format: 'umd',
name: 'tezero',
sourcemap: true,
exports: 'named',
},
{
file: path.basename(pkgCore.module),
format: 'es',
name: 'tezero',
sourcemap: true,
exports: 'named',
inlineDynamicImports: true,
},
],
plugins: [
clear({
targets: ["dist"],
}),
typescript({ tsconfig: './tsconfig.json' }),
commonjs(),
resolve({ browser: true }),
terser(),
nodePolyfills(),
babelPlugin({
exclude: "node_modules/**",
runtimeHelpers: true,
}),
],
}]
*/
import { terser } from 'rollup-plugin-terser';
import commonjs from 'rollup-plugin-commonjs';
import typescript from 'rollup-plugin-typescript2';
import resolve from 'rollup-plugin-node-resolve';
import nodePolyfills from 'rollup-plugin-node-polyfills';
import babelPlugin from 'rollup-plugin-babel';
import json from 'rollup-plugin-json';
import clear from 'rollup-plugin-clear';
import { createRequire } from 'module'
const require = createRequire(import.meta.url)
const packages = ['core','layout'].map(pkgName => {
const pkg = require(`./packages/${pkgName}/package.json`)
const baseConfig = {
input: `packages/${pkgName}/src/index.ts`,
//external: Object.keys(pkg.dependencies || {}),
output: [
{
file: pkg.main,
format: 'umd',
name: `tezero.${pkgName}`,
globals: pkgName !== 'core' ? { three: 'Tezero.THREE' } : {},
sourcemap: true
},
{
file: pkg.module,
format: 'es',
sourcemap: true
}
],
plugins: [
json(),
clear({
targets: ["dist"],
}),
typescript({ tsconfig: './tsconfig.json' }),
commonjs(),
resolve({ browser: true }),
terser(),
nodePolyfills(),
babelPlugin({
exclude: "node_modules/**",
runtimeHelpers: true,
}),
]
}
// 特殊处理非core包的external
if (pkgName !== 'core') {
baseConfig.external = [
// ...Object.keys(pkg.dependencies || {}),
// ...Object.keys(pkg.peerDependencies || {}),
'three', // 明确排除three.js
'localforage',
'@tweenjs/tween.js',
/^three\// // 排除所有three的子模块
]
}
return baseConfig
})
export default packages
Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
TypeScript
1
https://gitee.com/cedar12/tezero.git
git@gitee.com:cedar12/tezero.git
cedar12
tezero
tezero
master

搜索帮助