UNPKG

rsa-long

Version:

rsa分段加、解密

97 lines (93 loc) 3.32 kB
// rollup.config.js import json from 'rollup-plugin-json'; import resolve from 'rollup-plugin-node-resolve'; import commonjs from 'rollup-plugin-commonjs'; import babelPlugin from 'rollup-plugin-babel'; import serve from 'rollup-plugin-serve'; import { uglify } from 'rollup-plugin-uglify'; import { eslint } from 'rollup-plugin-eslint' const path = require('path'); const resolveFile = function (filePath) { return path.join(__dirname, '..', filePath) } const isDev = process.env.NODE_ENV !== 'production'; console.log('----------dev:', process.env.NODE_ENV, isDev) // 通过控制outputs中对应的isExternal、isUglify值来决定打包的文件是否启用external和uglify const outputs = [ // { // file: resolveFile('dist/index.cjs.js'), // format: 'cjs', // isExternal: true, // }, // { // file: resolveFile('dist/index.es.js'), // format: 'es', // isExternal: true, // }, { file: resolveFile('dist/index.js'), format: 'umd', name: 'rsaLong', }, { file: resolveFile('dist/index.min.js'), format: 'umd', name: 'rsaLong', isUglify: true, } ].map(i => { i.sourcemap = isDev; // 开发模式:开启sourcemap文件的生成 return i; }); const len = outputs.length; const config = outputs.map((output, i) => { const isUglify = output.isUglify || false; const isExternal = output.isExternal || false; console.log('------config:', isExternal) return { input: resolveFile('src/index.js'), output, plugins: [ // rollup-plugin-commonjs应该用在其他插件转换你的模块之前 - 这是为了防止其他插件的改变破坏CommonJS的检测 // 作用:将CommonJS模块转换为 ES2015 供 Rollup 处理 commonjs(), // 作用:处理json格式文件 json(), // 作用:告诉 Rollup 如何查找外部模块 resolve({ // 将自定义选项传递给解析插件 customResolveOptions: { moduleDirectory: 'node_modules' } }), eslint({ throwOnError: true, throwOnWarning: true, include: ['src/**'], exclude: ['node_modules/**'] }), babelPlugin({ exclude: 'node_modules/**', // 只编译我们的源代码 runtimeHelpers: true, }), ...( isDev && i === len - 1 ? [ serve({ // 使用开发服务插件 port: 3001, // 设置 exmaple的访问目录和dist的访问目录 contentBase: [resolveFile('example'), resolveFile('dist')] }) ] : isUglify ? [ uglify() ] : [] ) ], // 作用:指出应将哪些模块视为外部模块,否则会被打包进最终的代码里 external: id => { return !isExternal ? false : (/@babel\/runtime/.test(id) || /lodash/.test(id)); } } }) export default config;