SkeyeWebPlayer.js H5播放器开发之webpack项目创建级编译配置(一) 您所在的位置:网站首页 nodejs音乐播放器 SkeyeWebPlayer.js H5播放器开发之webpack项目创建级编译配置(一)

SkeyeWebPlayer.js H5播放器开发之webpack项目创建级编译配置(一)

2023-03-16 17:14| 来源: 网络整理| 查看: 265

const webpack = require('webpack');const pkg = require('./package.json');const NodePolyfillPlugin = require('node-polyfill-webpack-plugin');const TerserPlugin = require('terser-webpack-plugin');const HtmlWebpackPlugin = require('html-webpack-plugin');const ExtractTextPlugin = require('extract-text-webpack-plugin');const path = require('path');

let config = { entry: { SkeyeWebPlayer: './src/index.js' },

resolve: { extensions: ['.ts', '.js'] },

output: { filename: '[name].js', path: path.resolve(__dirname, './dist'), library: 'SkeyeWebPlayer', libraryTarget: 'umd', libraryExport: 'default', globalObject: 'this' },

plugins: [ // new NodePolyfillPlugin(), new webpack.DefinePlugin({ __VERSION__: JSON.stringify(pkg.version) }) ], optimization: { splitChunks: false // minimizer: [ // new TerserPlugin({ // extractComments: false, // }) // ] },

module: { rules: [ { test: /(\.jsx|\.js)$/, use: { loader: 'babel-loader', options: { babelrc: false, 'presets': [ ['@babel/preset-env', { loose: true, modules: false, targets: { browsers: [ 'chrome >= 47', 'firefox >= 51', 'ie >= 11', 'safari >= 8', 'ios >= 8', 'android >= 4' ] } }] ] } } }, { test: /\.js/, //babel转化es6到es5 exclude: /node_modules/, use: { loader: 'babel-loader', options: { plugins: ['@babel/plugin-transform-runtime'] } } }, { test: /\.(css|scss)$/, use: [ { loader: "style-loader" // creates style nodes from JS strings }, { loader: "css-loader" // translates CSS into CommonJS }, { loader: "sass-loader" // compiles Less to CSS } ], exclude: /node_modules/ }, { test: /\.(woff2?|svg|eot|ttf|otf)(\?.*)?$/, loader: 'url-loader', // exclude: [path.resolve(__dirname, 'src/control-bar/icon')], // 排除该目录 其他规则中有svg 需要加入排除 options: { limit: 10000000, name: '[name].[hash:8].[ext]' } }, { test: /\.wasm$/, include: path.resolve(__dirname, 'wasm'), use: [ { loader: 'wasm-loader' } ] } ] },

node: { fs: 'empty' }};

module.exports = (env, argv) => { if (argv.mode === 'production') { config.output.filename = '[name].min.js'; } return config;};



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有