1.2.8 • Published 4 years ago

live-sdk-test v1.2.8

Weekly downloads
120
License
-
Repository
-
Last release
4 years ago

直播端的h5播放器

rollup参考资料

rollup插件库:https://github.com/rollup/awesome rollup-plugin-vue: https://rollup-plugin-vue.vuejs.org/options.html#style-trim

说明

编译之后格式为esm格式,支持import引入

import { Live } from '@akc/live-sdk'

项目需要引入

vant: ui axios: http请求 postcss-px-to-viewport: sdk源码单位尺寸为px,需要依赖项目进行px=>vw编译 vue-line-clamp: 处理文案省略号 @akc/ss-bullet-sdk: im通信

配置功能

模块懒加载: import { PreheatVideo } from '@akc/live-sdk' http封装: import CreateHttp from '@akc/http-sdk' class,async编译

httpAPi livingMeta 获取直播间初始化数据 => (sdk内 trusteeship 三方用户信息托管到直播 => (sdk内) pageQueryLiveList 直播频道接口 => 直播预告页面接口(sdk外,回调 batchQueryLiveListByActivities 饷店-批量查询活动关联的直播列表 => 直播播货(sdk外,回调 shareLive 分享功能 => (sdk内,另抛出回调 appointment 预约观看直播 => 直播预热 (sdk内,另抛出回调

// rollup.config.js import fs from 'fs'; import path from 'path'; import resolve from '@rollup/plugin-node-resolve' // 查找第三方依赖 import alias from '@rollup/plugin-alias'; // 定义别名 eg:@ import commonjs from '@rollup/plugin-commonjs'; // 将commonjs模块转化为es6 import replace from '@rollup/plugin-replace'; // 取代关键字 import babel, { getBabelOutputPlugin } from '@rollup/plugin-babel'; // 转化为es5 import { terser } from 'rollup-plugin-terser'; // iife格式,压缩代码 import cssOnly from 'rollup-plugin-css-only' import image from '@rollup/plugin-image'; // 图片转化为base64,但是图片路径资源有问题 // import strip from '@rollup/plugin-strip'; // 移除debugger/console/assert import vue from 'rollup-plugin-vue'; // 编译vue插件 import minimist from 'minimist'; import cleaner from 'rollup-plugin-cleaner'; // 清空cleaner // import postcss from 'rollup-plugin-postcss'

// Get browserslist config and remove ie from es build targets const esbrowserslist = fs.readFileSync('./.browserslistrc') .toString() .split('\n') .filter((entry) => entry && entry.substring(0, 2) !== 'ie');

const argv = minimist(process.argv.slice(2)); const projectRoot = path.resolve(__dirname, '..');

const baseConfig = { input: 'src/entry.js', plugins: { preVue: [ resolve({ extensions: '.js', '.jsx', '.ts', '.tsx', '.vue' }), alias({ resolve: '.js', '.jsx', '.ts', '.tsx', '.vue', entries: { '@': path.resolve(projectRoot, 'src'), }, }), image(), cssOnly(), // rollup-plugin-css-only // strip(), ], replace: { 'process.env.NODE_ENV': JSON.stringify('production'), 'process.env.ES_BUILD': JSON.stringify('false'), }, vue: { css: false, include: /.vue$/i, defaultLang: { script: 'js' }, }, babel: { exclude: 'node_modules/**', extensions: '.js', '.jsx', '.ts', '.tsx', '.vue', babelHelpers: 'runtime', skipPreflightCheck: true, presets: [ '@babel/preset-env', { targets: esbrowserslist, }, , ], }, }, };

// ESM/UMD/IIFE shared settings: externals // Refer to https://rollupjs.org/guide/en/#warning-treating-module-as-external-dependency const external = // list external dependencies, exactly the way it is written in the import statement. 'vue', 'vant', 'axios', '@akc/ss-bullet-sdk' ;

// UMD/IIFE shared settings: output.globals // Refer to https://rollupjs.org/guide/en#output-globals for details const globals = { // Provide global variable names to replace your external imports vue: 'Vue', vant: 'Vant', axios: 'axios', '@akc/ss-bullet-sdk': 'IM' };

// TODO: 只打包了es的模块格式 // Customize configs for individual targets const buildFormats = []; if (!argv.format || argv.format === 'es') { const esConfig = { ...baseConfig, external, output: { file: 'dist/index.js', format: 'esm', exports: 'named', plugins: getBabelOutputPlugin({ configFile: path.resolve(projectRoot, 'babel.config.js'), }) }, plugins: [ cleaner({ targets: 'dist' }), replace({ ...baseConfig.plugins.replace, 'process.env.ES_BUILD': JSON.stringify('true'), }), ...baseConfig.plugins.preVue, vue(baseConfig.plugins.vue), babel({ ...baseConfig.plugins.babel, }), commonjs(), ], }; buildFormats.push(esConfig); }

if (!argv.format || argv.format === 'cjs') { const umdConfig = { ...baseConfig, external, output: { compact: true, file: 'dist/index.ssr.js', format: 'cjs', name: 'AkcLiveSdk', exports: 'named', globals, }, plugins: replace(baseConfig.plugins.replace), ...baseConfig.plugins.preVue, vue({ ...baseConfig.plugins.vue, template: { ...baseConfig.plugins.vue.template, optimizeSSR: true, }, }), babel(baseConfig.plugins.babel), commonjs(), , }; buildFormats.push(umdConfig); }

if (!argv.format || argv.format === 'iife') { const unpkgConfig = { ...baseConfig, external, output: { compact: true, file: 'dist/index.min.js', format: 'iife', name: 'AkcLiveSdk', exports: 'named', globals, }, plugins: replace(baseConfig.plugins.replace), ...baseConfig.plugins.preVue, vue(baseConfig.plugins.vue), babel(baseConfig.plugins.babel), commonjs(), terser({ output: { ecma: 5, }, }), , }; buildFormats.push(unpkgConfig); }

// Export config export default buildFormats;

1.2.8

4 years ago

1.2.7

4 years ago

1.2.4

4 years ago

1.2.3

4 years ago

1.2.2

4 years ago

1.1.20

4 years ago

1.1.18

4 years ago

1.1.11

4 years ago

1.1.16

4 years ago

1.1.15

4 years ago

1.1.14

4 years ago

1.1.17

4 years ago

1.0.10

4 years ago

1.1.9

4 years ago

1.1.10

4 years ago

1.1.8

4 years ago

1.1.7

4 years ago

1.1.6

4 years ago

1.1.5

4 years ago

1.1.4

4 years ago

1.1.3

4 years ago

1.1.2

4 years ago

1.0.9

4 years ago

1.0.8

4 years ago

1.0.7

4 years ago

1.0.6

4 years ago

1.0.5

4 years ago

1.0.3

4 years ago

1.0.2

4 years ago

1.0.1

4 years ago