UNPKG

@jxstjh/jhvideo

Version:

HTML5 jhvideo base on MPEG2-TS Stream Player

111 lines (101 loc) 3.13 kB
const webpack = require('webpack'); const packagejson = require("./package.json"); const path = require('path'); const TerserPlugin = require('terser-webpack-plugin'); const MiniCssExtractPlugin = require('mini-css-extract-plugin'); module.exports = { entry: './src/index.ts', output: { filename: 'jhvideo.js', path: path.resolve(__dirname, 'dist'), library: 'jhvideo', libraryTarget: 'umd' }, devtool: 'source-map', resolve: { extensions: ['.css','.ts', '.tsx', '.js', '.json'] }, plugins: [ new webpack.DefinePlugin({ __VERSION__: JSON.stringify(packagejson.version) }), new MiniCssExtractPlugin({ filename:'jhvideo.css' }) ], node: { 'fs': 'empty', 'path': 'empty' }, optimization: { minimizer: [ new TerserPlugin({}) ] }, module: { rules: [ { test: /\.(css)$/, exclude: /node_modules/, use: [ MiniCssExtractPlugin.loader, { loader: "css-loader" }, // CSS -> CommonJS模块 ], }, { test: /\.(less)$/, exclude: /node_modules/, use: [ MiniCssExtractPlugin.loader, { loader: "css-loader" }, // CSS -> CommonJS模块 { loader: "less-loader" }, // 编译: less -> CSS ], }, { test: /\.(sass|scss)$/, exclude: /node_modules/, use: [ // MiniCssExtractPlugin.loader, { loader: "css-loader" }, // CSS -> CommonJS模块 { loader: "sass-loader" }, // 编译: sass -> CSS ], }, { test: /\.(ts|js)$/, exclude: /node_modules/, use: 'ts-loader', }, { enforce: 'pre', test: /\.js$/, exclude: /node_modules/, use: 'source-map-loader', }, { test: /\.worker\.(c|m)?js$/i, exclude: /node_modules/, loader: "worker-loader", options: { inline: "fallback" }, }, { test: /\.worklet\.js$/, exclude: /node_modules/, use: { loader: 'worklet-loader', options: { name: '[name].js', inline: true } } } ] }, devServer: { contentBase: path.join(__dirname, 'demo'), publicPath: '/', headers: { 'Cross-Origin-Opener-Policy': 'same-origin', 'Cross-Origin-Embedder-Policy': 'require-corp', }, } };