import babel from 'rollup-plugin-babel';
import commonjs from '@rollup/plugin-commonjs';
import replace from 'rollup-plugin-replace';
import nodeResolve from 'rollup-plugin-node-resolve';
import { uglify } from 'rollup-plugin-uglify';
import { eslint } from 'rollup-plugin-eslint';
import json from '@rollup/plugin-json';
import builtins from 'rollup-plugin-node-builtins';
import typescript from '@rollup/plugin-typescript';
const ENV = process.env.NODE_ENV;
export default {
input: 'src/index.ts',
output: {
file: 'dist/bundle.js',
format: 'umd',
name: 'kaleido-fed-sdk',
},
plugins: [
nodeResolve({
browser: true,
preferBuiltins: true,
mainFields: ['browser']
}),
builtins(),
commonjs(),
eslint({
include: ['src/**'],
exclude: ['node_modules/**']
}),
replace({
ENV: JSON.stringify(process.env.NODE_ENV)
}),
typescript(),
json(),
babel({
exclude: 'node_modules/**',
runtimeHelpers: true, // 配置runtime,不设置会报错
}),
ENV === 'production' && uglify()
]
};
报错1:
参阅: https://rollupjs.org/guide/en/#error-name-is-not-exported-by-module
import commonjs from 'rollup-plugin-commonjs'; export default { // ... plugins: [ commonjs({ namedExports: {'tslib': ['__awaiter', '__generator']} }), ] }
报错2:
本地rollup打包成功,在另外一个项目中引用这个sdk报的错。而这个包已经确实安装了的。
原因:我的sdk文件中的package.json中的main指定的路径不对。原先写的是:“main”: "./dist/bundle.js"。改成如下:
报错3:
这个报错跟我引入的ali-oss库的方式有关。之前是用的import引入,改成了require语法就好了。而我的文件都是支持es6语法的,其余的三方库都可以用import, 唯独这个三方库需要require. 可能rollup打包某些场景有些冲突。
报错4:
具体的报错已经复现不了了。但是我记得当时界面会报错global()...的报错。是因为我在rollup配置项中加了global的一个解析,这步操作不需要